program tip

Swift에서 Double 및 Float의 최대 값을 찾는 방법

radiobox 2020. 12. 6. 21:25
반응형

Swift에서 Double 및 Float의 최대 값을 찾는 방법


현재 학습 스위프트, 찾을 수있는 방법이있다 최대최소 의 다른 종류의 가치 정수 좋아 Int.max하고 Int.min.

Double 및 Float의 최대 값을 찾는 방법이 있습니까? 또한 이러한 질문에 대해 어떤 문서를 참조해야합니까? 현재 Apple의 The Swift Programming Language를 읽고 있습니다.


는 없지만 Double.maxC float.h헤더에 정의되어 있으며 import Darwin.

import Darwin

let fmax = FLT_MAX
let dmax = DBL_MAX

이들은 대략 3.4 * 10^38그리고 1.79 * 10^308각각입니다.

그러나 부동 소수점 숫자로는 그렇게 간단하지 않습니다 (부동 소수점 숫자로는 결코 간단하지 않습니다). 이렇게 큰 숫자를 보유하면 매우 작은 숫자로 정밀도를 잃는 것과 비슷한 방식으로 정밀도가 손실됩니다.

let d = DBL_MAX
let e = d - 1.0
let diff = d - e
diff == 0.0  // true

let maxPlusOne = DBL_MAX + 1
maxPlusOne == d  // true

let inf = DBL_MAX * 2
// perhaps infinity is the “maximum” 
inf == Double.infinity  // true

따라서 이러한 한계를 극복 할 수있는 계산에 들어가기 전에 부동 소수점을 읽어야 할 것입니다. 여기여기 가 좋은 시작일 것입니다.


Swift 3부터 다음을 사용해야합니다.

CGFloat.greatestFiniteMagnitude
Double.greatestFiniteMagnitude
Float.greatestFiniteMagnitude

AV의 대답은 괜찮지 만 그 매크로는 기억하기 어렵고 약간 명확하지 않으므로 결국 내가 만들고 Double.MIN친구들이 일합니다.

extension Double {
    static var MIN     = -DBL_MAX
    static var MAX_NEG = -DBL_MIN
    static var MIN_POS =  DBL_MIN
    static var MAX     =  DBL_MAX
}

소문자 min 및 max를 사용하지 마십시오. 이러한 기호는 Swift 3에서 사용됩니다.


그냥 써

    let mxFloat = MAXFLOAT

swif에서 float의 최대 값을 얻을 수 있습니다.


모두 스위프트 5를 사용합니다.

여기에 이미지 설명 입력

참고 URL : https://stackoverflow.com/questions/28525484/how-to-find-max-value-for-double-and-float-in-swift

반응형