소수의 이진수 변환
- 소수
- 소수란 1의 자리보다 작은 자릿값을 가진 수를 의미
- 0.1, 0.2, 0.5 등
- 소수표현 방식에는 고정소수점과 부동소수점이 존재
- 고정 소수점
- 고정 소수점은 소수점을 이용하여 고정된 자리수의 소수를 표현하는 방식
- 밑수와 지수값을 미리 결정해두고 사용
- 정수 자료형에 대해서는 연산이 굉장히 빠름
- -3.75 -> 1011.1100
- 부호를 제외한 나머지 비트를 절대값으로 나타내는 방식
- 소수부는 첫째자리부터 2^-1로 시작하여 자리수가 늘어날 때마다 그 값이 1/2이 됨
- 고정 소수점의 문제점
- 고정된 자리수 때문에 한정된 메모리에서 좁은 번위의 수만 나타낼 수 있음
- 소수점 고정 문제로 인해 소수를 표현하는 비트가 정수를 침해할 가능성이 존재함
- 소수를 표현하는데 있어 정밀도가 부족함
- 부동 소수점
- 부동소수점 표현방식은 소수를 부호, 가수, 밑수, 지수로 표현하는 방식
- 132.12234 -> 0.13212234* 10^3
- 위와 같은 방법을 이용하면 더 많은 수를 표현할 수 있게됨
- IEEE 754 정규화
- 컴퓨터가 처리하는 모든 소수는 가수부 최상단 비트가 1로 표현되는 일관성 있는 현태를 유지하고 있음
- 이를 정규화 형식(Normalized form)이라고 함.
- 정규화표현식 : N = (-1)^s*2^(e-127)
- S: 부호비트, e: 지수
- 바이어스(bias)
- 소수의 정규화시 지수부가 음수가 될 가능성이 있음
- EX) 0.001 -> 1.0 * 10^-3
- 지수비트에는 부호비트가 없기 때문에 바이어스 표기법을 사용 (지수 -127부터 128까지 사용가능)
- 0000 0000 = -127
- 0111 1111 = 0
- 정밀도 문제
- 23바ㅣ트 가수표현은 자리수가 진 소수표현에 적합하지 않음
- 32비트의 2배인 64비트 레지스터를 사용하는 2배 정빌도 부동소수점 표기방식이 출현
- 1비트 부호, 11비트 지수, 52비트 가수 표현방식
- 2배 정밀도 바이어스 : 1023
Comments powered by Disqus.