프로그래밍 기술/정보처리기사필기

[계산기 구조] 실수 데이터 표현(부동 소수점)

언제나휴일 2016. 4. 13. 11:16
반응형

실수 데이터 표현(부동 소수점)


부동소수점 표기
부호 비트, 지수부, 가수부로 나누어 표현

부호비트
최상위 비트는 부호 비트(0:부호 없음, 1:부호 있음-음수)

지수부
0
승을 기준 표현(Bias)으로 정하여 지수부의 값을 더해서 표현
) 64바이어스일 때 2 6
바이어스인 64를 이진수로 표현하면 1000000
이진수 1000000 0승으로 취급
6
은 이진수로 110
바이어스에 6을 더하면 1000110

가수부
소수점 이하 자리만 표현
) 1.101011
소수점 이하 자리인 101011만 표횬

) 부호비트1, 지수부 8, 가수부 23 자리,  127바이어스로 -12.625를 표현하면
부호비트는 1
12.625 = 8(2
3) + 4(2 2)+0.5(2 -1) + 0.125(2 -3)
=
이진수 1100.101 = 이진수 1.100101 X 2 3
지수부는 127 바이어스이므로
01111111
0
3
승이므로 01111111 + 011 = 100000010
가수부는 1.100101에서 소수점 이하의 표현만 사용하므로
100101
이며 나머지 빈 자리는 0으로 표현
10010100000000000000000
따라서 -12.625
110000001010010100000000000000000

실수 데이터 메모리



부동소수점 표현과 메모리 예

유효 자리수를 최대로 표현하기 위해 1010.111 1.010111X2 3승으로 바꾸어 지수부와 가수부를 분리하는 과정을
정규화라 부릅니다.

덧셈, 뺄셈 과정
0
인지 조사 => 가수의 위치 조정(지수가 큰 것을 기준) => 가수를 더하거나 빼기 => 정규화

곱셈 과정
0
인지 조사 => 지수부 더하기 => 가수부 곱하기 =>정규화

나눗셈 과정
0
인지 조사 => 부호 결정 => 피젯수 조정(제수보다 피젯수가 작게 조정) => 지수부 빼기 => 가수부 나눗셈 => 정규화

너와 나의 연결고리 "공감"

반응형