본문 바로가기
자료구조

실수 표현 방식(부동 소수점)

by asd135 2024. 3. 14.
728x90

부동 소수점

부호(1비트) 지수(8비트) 가수(23비트)

 

부호: 0이면 양수 1이면 음수를 의미

지수: 가수에 곱해지는 2의 제곱 수를 나타낸다.

가수: 실수의 유효 숫자를 표현한다.

 

표현방법

-123.25를 2진수로 표현할 경우 1111011.01이다.

다음으로 정규화 과정이 필요하다. 소수점을 맨 앞자리 1 뒤로 이동시키고 지수를 조정한다. 1111011.01 ->  1.11101101 * 2^6 소수점이 6자리 이동했으므로 2^6이 된다.

지수부에 6을 넣기 전에 바이어스 값을 추가해야 한다. 

 

바이어스(bias)

지수가 음수가 될 수도 있고 양수가 될 수도 있다. 하지만 컴퓨터는 음수를 표현하기보다는 양수로만 처리하는 것을 선호한다.

지수 값에 바이어스 값(127)을 더하면 음수의 경우 1~126, 양수의 경우 128~254 범위를 나타낸다. 

예시의 경우 127+6 = 133(10000101)

 

가수부 처리

소수점 이하 부분을 가수부에 넣는다. 맨 앞 1은 항상 1이기 때문에 메모리에는 1을 제외한 소수부만 저장된다.

1.11101101 -> 11101101 

1  10000101 11101101

 

부동소수점 사용 시 주의점

 

메모리라는 유한한 값을 사용하여 숫자를 저장한다. 하지만 실수는 무한한 값을 가지기 때문에(0.33333...) 근사값을 저장한다. 출력 시 미세한 오차가 발생한다.

 

'자료구조' 카테고리의 다른 글

2진수 정수 표현 방식  (0) 2024.03.13
10진수 표현 방식(pack, unpacked)  (0) 2024.03.06