[코틀린기초] 2. 부동 소수점

부동 소수점의 이해

부동 소수점 표현

소수는 32비트와 64비트의 부동 소수점으로 표현한다.
IEEE754 표준을 따름

float은 부호 1bit 지수 8bit 가수 23비트
Double은 부호 1bit 지수 11bit 가수 52bit

ex) -12.375 의 표현

음수므로 최상위 bit는 1 12.375 는 이진수로 1100.011이고, 1.100011 x 2^3으로 나타낼 수 있다
1은 생략하며 소수부 100011이 가수부에 표현되며 남은 비트는 0으로 채워진다 3은 bias 127과 더하면 130이고 이는 이진수로 10000010이므로 이것이 지수부에 표현됨

따라서 1 10000010 10001100000000000000000 총 32비트가 된다.

부동소수점 연산의 단점

비트 수가 제한되어 있기 때문에 0.1을 1000번 더하면 100.00xxxxx 같이 정확한 계산이 안된다는 단점이 있음