컴퓨터에서 실수를 표현하는 방법은 고정 소수점과 부동 소수점 두 가지 방식이 있다.
소수점이 찍힐 위치를 미리 정해놓고 소수를 표현하는 방식 (정수 + 소수)
-3.14 는
부호 : -
정수부: 3
소수부 : 0.14
로 나누어진다.
표현이 단순하다는 장점이 있지만
표현의 범위가 너무 작아서 활용하기 힘들다. ( 정수부는 15, 소수부는 16bit)
실수를 가수부 + 지수부로 표현한다.
가수 : 실수의 실제값 표현
지수 : 크기를 표현함. 가수의 어디쯤에 소수점이 있는지 나타냄
참고) 지수부는 바이어스 표현법을 사용한다.
원래 8bit의 표현가능 숫자의 범위는 -127~ 128 이지만
부호부가 존재하지 않기 때문에 0000000 을 -127로, 11111111을 128로 정의하기로 약속했다.
따라서 만약 지수가 5라면 5를 2진수로 변환한 값이 아니라 5+127을 2진수로 변환한 값을 넣어준다.
왜 127을 더해야 되나?
장점 : 표현할 수 있는 수의 범위가 넓어진다. (현재 대부분 시스템에서 활용 중)
단점 : 오차가 발생할 수 있다. (부동소수점으로 표현할 수 있는 방법이 매우 다양함)