반응형
컴퓨터에서 실수를 2진수로 표현할텐데, 이건 저장을 할 때 어떻게 저장을 하는지 갑자기 궁금해졌다.
한번 알아보도록 하자.
고정소수점 방식(fixed point)
실수는 정수부와 소수부로 나눌 수 있다.
고정소수점 방식은 소수부의 자릿수를 미리 정하여, 고정된 자릿수의 소수부를 표현하는 방식으로 생각하면 된다.
32비트 실수를 고정소수점 방식으로 표현하면
요렇게 된다.
하지만 이 방식은 정수부와 소수부의 자릿수가 한계가 있어, 표현할 수 있는 범위가 적다.
부동소수점 방식(floating point)
실수는 정수부, 소수부로 나눌수도 있지만
가수부와 지수부로 나누어 표현할 수도 있다. 부동소수점 방식에서는 이렇게 나누어 표현한다.
대부분의 시스템에서 이런 방식을 채택하고 있다.
대부분 IEEE 표준을 따른다.
more
부동소수점 방식은 고정소수점 방식보다 훨씬 많은 범위까지 표현할 수 있긴 하지만 항상 오차가 존재한다는 단점을 가지고 있다.
위의 공식을 사용해서 표현하면, 표현 범위는 늘어나지만, 10진수를 정확하게 표현할 수 없으므로 오차가 발생할 수 있게 된다.
반응형