부동 소수점의 지수부 표현 방법에 대하여
십진수에서 이진수로 변환한뒤 1.xxxxx형태로 정규화하는 과정에서 지수부는 양수가 될수도 음수가 될수도 있습니다!! 그렇기에 양, 음수 지수 모두를 표현하려고 8bit 256의 절반씩을 나누어 쓰도록 127을 더해주는 것 같아요. 강사님이 들어주신 예와 다른 예(0.0390625)를 비교해봅시다.3.375 --(이진수변환)--> 11.01111은 두자리 수 이므로 정규화 하려면 부동 소수점을 왼쪽으로 한칸 옮겨야 합니다! 따라서11.011 = 1.1011 * 2^1 (소수점을 좌로 한칸 옮겼으므로 지수부는 1이 되는겁니다!)0.0390625 --(이진수변환)--> 0.00001011이 소수점 왼쪽에 위치하기 위하여 소수점은 오른쪽으로 5칸 가야겠죠? 그러면 다음과 같을겁니다.0.0000101 = 1.01 * 2^-5 (소수점을 우로 5칸 옮겼으므로 지수부는 -5)위 아래 bit 표현식은 127의 bias를 더해서 각각1000 0000, 0111 1010 이 됩니다. 127을 더함으로써 양수 지수 음수 지수 모두 표기할 수 있게 되는겁니다! 신기한 점은 맨 앞 비트가 1이면 양수 지수, 0이면 음수 지수 임을 알 수 있다는 점(127을 더하기 때문이겠죠?).참고로 double의 경우 지수부에 11bit 즉 2048을 나눠쓰기 위해 1023의 bias를 가해주니깐 2^-1024 ~ 2^1024 의 지수부를 표현할 수 있다고 합니다~