부동 소수점

float ←→ fixed

단정도 float

배정도 double - 정확도가 두배여서 배정도 ㅋㅋ

127.125 라는 숫자를 일단 2진수로 변환해줌

1111111.0001

2진수에서 소수점은 다음과 같이 표현한다
(이해를 위해 10진수로 표현함)

100.5
= 1.005 * 10^2

따라서 2진수도 자리수를 이동시키고 이동시킨 자리수만큼 곱해주는것

<u>**가수부 : 1.1111110001 * 10^6**</u>

자연수 자리는 빼고, 아래자리수가 바로 <u>**가수부**</u>

지수부는 10^6 이었으니까 8비트에서 부호비트를 뺀 7비트의 최대값인 127에 이동한 자리수 6을 더해준 값을 8비트에 표현한다 이 값이 바로 <u>**지수부</u>** 다

<u>**지수부 : 1000 0101 (127+6)

부호**</u>는 양수나 음수냐에 다라 MSB처럼 1이나 0을 표기한다
양수 : 0
음수 : 1

Untitled

단정도 배정도

E9A1392C-4FEA-4A64-BF50-9F28ED2FC1B6.jpeg

0D0D8997-8834-472C-B8E6-B890EAC2FB1C.jpeg

87DDB921-2BFE-4DD7-9C9A-3D7628D705C3.jpeg

2의 3승 곱하는 이유는 1011 에서 부호를 만들어주기위해 자리수 이동을 위해서 2의 3을을 곱해주는거다

자리수 3개 이동하니까

과제있다..

99628E55-4DA7-4D85-A13D-572DDE75BC5F.jpeg

아.. 정수부 맨 앞 1은 생략해야하는구나