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
'자료구조' 카테고리의 다른 글
[자료구조] 소리 데이터의 표현 (0) | 2024.03.22 |
---|---|
[자료구조] 이미지 데이터의 표현 (2) | 2024.03.19 |
[자료구조] 팩 & 언팩 (0) | 2024.03.15 |
[자료구조] 수치 데이터의 표현 (0) | 2024.03.12 |
[자료 구조] 자료구조에 대하여 (0) | 2024.03.12 |
댓글