코틀린에서는 부동소수점 수를 표현하기 위해 Float와 Double 두 가지 부동소수점 타입을 제공합니다. 각각은 다양한 범위의 실수 값을 나타냅니다.
1. Float 타입 (32-bit)
- 32비트 부동소수점 수로, 대체로 더 낮은 정밀도를 가집니다.
- F 또는 f를 리터럴 끝에 추가하여 Float 타입을 표현합니다.
val myFloat: Float = 3.14F
2. Double 타입 (64-bit)
- 64비트 부동소수점 수로, 높은 정밀도를 가집니다. 일반적으로 기본적으로 사용되는 부동소수점 타입입니다.
- D 또는 d를 리터럴 끝에 추가하여 Double 타입을 표현합니다. (생략 가능)
val myDouble: Double = 3.14
3. 부동소수점 리터럴
리터럴에서는 기본적으로 Double 타입을 나타냅니다. 따라서 Float 타입으로 표현하려면 F 또는 f를 붙여주어야 합니다.
val doubleLiteral: Double = 3.14
val floatLiteral: Float = 3.14F
4. 지수 표기법
부동소수점 수는 지수 표기법을 사용하여 나타낼 수 있습니다.
val largeNumber: Double = 1.2e5 // 120000.0
5. NaN과 Infinity
부동소수점 연산에서 발생할 수 있는 특수한 값으로 NaN (Not a Number)과 Infinity가 있습니다.
val nan: Double = Double.NaN
val infinity: Double = Double.POSITIVE_INFINITY
6. 부동소수점 정밀도 문제
부동소수점은 이진수로 표현되기 때문에 정밀도 문제가 발생할 수 있습니다. 따라서 부동소수점 연산에서 정확한 결과를 얻기 위해 주의가 필요합니다.
val result: Double = 1.0 / 3.0 // 정확한 0.33333...이 아닌 근사값
부동소수점 수를 사용할 때는 정확한 값이 필요한 경우에 주의를 기울여야 합니다. 특히 돈과 관련된 계산과 같이 정밀도가 중요한 상황에서는 부동소수점의 한계를 고려하여 적절한 타입과 연산을 선택해야 합니다.
With ChatGPT
'Kotlin > 포스팅' 카테고리의 다른 글
코틀린 비교 연산자 (0) | 2023.12.09 |
---|---|
코틀린 산술 연산자 (0) | 2023.12.09 |
코틀린 정수 타입 (0) | 2023.12.09 |
코틀린 식과 연산자 (0) | 2023.12.09 |
코틀린 가변 변수 (0) | 2023.12.09 |