Swift에서 Double 및 Float의 최대 값을 찾는 방법
현재 학습 스위프트, 찾을 수있는 방법이있다 최대 및 최소 의 다른 종류의 가치 정수 좋아 Int.max
하고 Int.min
.
Double 및 Float의 최대 값을 찾는 방법이 있습니까? 또한 이러한 질문에 대해 어떤 문서를 참조해야합니까? 현재 Apple의 The Swift Programming Language를 읽고 있습니다.
는 없지만 Double.max
C 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
'program tip' 카테고리의 다른 글
부트 스트랩 팝 오버 콘텐츠는 동적으로 변경할 수 없습니다. (0) | 2020.12.06 |
---|---|
rmagick 설치 오류 : 오류 : gem 기본 확장을 빌드하지 못했습니다. (0) | 2020.12.06 |
브라우저 개발자 도구를 비활성화하는 방법은 무엇입니까? (0) | 2020.12.06 |
추가 설정 여부 확인 (0) | 2020.12.06 |
퍼블릭 IP를 통해 EC2 인스턴스의 사이트에 액세스 할 수 없습니다. (0) | 2020.12.06 |