본문 바로가기
자료구조

[자료구조] 부동 소수점 데이터 표현 방식

by 김아잉 2024. 3. 19.
728x90

• 부동(浮動) 소수점 데이터 표현 방식

- 실수를 표현하기 위해 사용하며, 4byte(32bit) 또는 8byte(64bit)로 표현

- 부동(浮動)은 영어 'floating'을 번역한 것으로 소수점의 위치가 정해지지 않았다는 것을 의미

- 부호 비트에는 양수이면 0, 음수이면 1을 표시하고, 지수부에는 지수 값에 127을 더한 값을 저장한다. 가수부는 표현할 수를 2진수로 변환한 후 정규화 과정을 통하여 소수점 이하 부분만 저장


고정 소수점 v.s. 부동 소수점
기억 용량                    4byte                      <                         4byte,8byte
구조의 복잡성
연산속도                                                    >
유효 숫자 범위                     2byte                                                    4byte

 


• 정규화 과정

- 2진수로 변환한 수를 1.xxx * 2n의 꼴로 변환하며, 정수 부분은 지수 밑수보다 작은 수이면서 0이 아닌 수, 즉 1을 쓴다.

- 지수 부분인 n에 바이어스(bias) 값인 127을 더하고 이를 2진수로 변환하여 지수부에 넣고, 1.xxx에서 소수부분은 가수부에 넣는다.

 


문제) 14.125를 부동 소수점 방식으로 표현하시오.

 

풀이과정

더보기

14는 23+22+22이므로 1110(2)

소수부분은

0.125 * 2 = 0.25

0.25 * 2 = 0.5

0.5 * 2 = 1.0 이므로 소수점 부분과 정수부분을 합치면 1110.001(2)이다.

이를 정규화 과정을 통해 변환시키면 1.110001 * 23이다.

부동 소수점으로 변환하면 부호는 양수이므로 0이고, 지수부는 3+127 = 130이므로 10000010, 가수부는 110001

이므로 01000001011000100000000000000000이다.

 

728x90

댓글