2011. 4. 4. 00:55ㆍProgramming
IEEE754 표준에 실수를 표현하는 방법은 아래와 같다.
우선 지수 형식을 세 가지로 나눈다.
1. 가수(mantissa)
2. 밑수(radix)
3. 지수(exponent)
예를 들어 생각해 보자.
-0.001101 * 2^2 이런 수가 있다고 할 때 2진수로 어떻게 표현될까?
1. 정규화부터
정규화라 함은 x.xx... 형태로 변환하는 것을 말하는데,
위의 수에서는 -1.101 이 되고 2의 2승은 역으로 소수점 세개만큼 감해졌음으로 인해
2의 -1승이 된다.
즉 정규화 결과는 -1.101 * 2^-1이다.
2. 지수를 바이어스로 표현
8비트로 지수를 표현하는 방법을 바이어스된(biased) 표현법이라 한다.
실제 지수에 바이어스를 더해서 나타낸다. 바이어스 개념이 없다면 지수는 8비트 0~255까지
표현이 가능하지만 음의 지수를 표현할 수 없다.
이 예에서 지수가 2^-1이므로 음수 -1 + 바이어스 이다. 이 때 IEEE표준이 127이므로
-1 + 127 = 126 가 된다.
3. 정리
여기까지 다음과 같은 결과가 나온다.
-1.101 * 2^126
이제 4바이트 2진수로 표현하면 다음과 같다.
우선 가수가 음수니까 첫 번째 비트는 1이된다.
또 바이어스된 지수 126을 8비트로 나타내면 0111 1110 이다.(공학용 계산기로 하면 된다.)
그 후 소수점을 나머지 23비트로 표현하기만 하면된다.
결과값은
1 0111 1110 10100000000000000000000
이다.
'Programming' 카테고리의 다른 글
태국 날짜 간단히 확인하는 법 (0) | 2014.04.30 |
---|---|
맥 OSX에서 sublime text3 기본 셋팅하기 (0) | 2014.04.29 |
JSON File Format (0) | 2014.04.18 |
cocos2d 3.0 쉬운 튜토리얼 (0) | 2014.04.09 |
towlower, _wcslwr (1) | 2010.10.03 |