본문 바로가기

Swift 문법

[Swift] 기본 자료형에 대해 알아보자! - 4 (Float, Double)

반응형

이번 포스팅에서는 부동소수 타입인 FloatDouble에 대해 알아보도록 하죠!
여기서 부동소수 타입이란, 실수로 이해하시면 될 것 같습니다.
이 부동소수 타입은 정수 타입보다 더 넓은 범위의 수를 표현할 수 있어요.

Double은 64비트의 부동소수, Float은 32비트의 부동소수 표현을 합니다.
비트로 설명하니깐 몇자리인지 와닫지 않을 수 있는데요, 64비트는 최소 15자리, 32비트는 6자리의 숫자까지만 표현이 가능합니다.

저는 대부분 실수 타입을 선언할 때, Float보다는 Double을 훨씬 많이 사용하는 것 같아요.
Float를 사용하면, 정확도가 Double 타입보다는 낮은 것 같습니다.

Double 자료형과 같은 값을 넣어줬는데도 다른 결과가 나오는 것을 확인하실 수 있어요. (알아서 반올림을 한다던가..)
이러한 이유 때문에 개인적으로 Double 자료형을 쓰는 것을 더 권장 드립니다.

imageimage

그리고 부동소수 타입을 사용하면서 주의해야할 점이 있어요.
print(1.0 + 2.0) 을 작성하면 콘솔에 어떻게 찍힐까요?
당연히 3.0이 정상이겠지만... 아닙니다!

image

엥? 이게머야.. 하시겠죠..? 저는 그랬답니다..

0.1을 2진수로 표시하려면 무한소수로 나타나게 됩니다.
왜 그럴까요??
Swift에서 부동소수를 비트로 표현할 때, IEEE 754표준을 따르고 있기 때문이에요.

그렇기 때문에 부동소수 타입을 연산해서 정확한 값을 계산하는것에는 주의가 필요합니다.!

이번 포스팅은 이만 마치겠습니다!
다음 포스팅에 대해서는 tuple에 대해 알아보도록 할게요!

포스팅 읽어주셔서 감사합니다.
지적 및 피드백 환영입니다.🤗

반응형