IEEE754 浮點數

1.將十進制數5.75,161.875,-0.0234375轉化爲IEEE754標準的32浮點數的二進制格式

一、5.75
整數部分
5/2=2 .... 1
2/2=1 .... 0
1/2=0 .... 1
小數部分
0.75·2=1.5 .... 1
0.5·2=1 .... 1
5.75=101.1100000000=1.011100000000·2的2次方
S=0 E=2+127=129 M=011100000000
0 10000001 01110000000000000000000
結果:
符號位(S) =0
階碼(E)=10000001
尾數(M)=01110000000000000000000
二、161.875
整數部分
161/2=80 .... 1
80/2=40 .... 0
40/2=20 .... 0
20/2=10 .... 0
10/2=5 .... 0
5/2=2 .... 1
2/2=1 .... 0
1/2=0 .... 1
小數部分
0.875·2=1.75 .... 1
0.75·2=1.5 .... 1
0.5·2=1 .... 1
161.875=10100001.1110000000=1.01000011110000000·2的7次方
S=0 E=7+127=134 M=01000011110000000
0 10000110 01000011110000000000000
結果:
符號位(S) =0
階碼(E)=10000110
尾數(M)=01000011110000000000000
三、-0.0234375
整數部分
0
小數部分
0.0234375·2=0.046875 .... 0
0.046875·2=0.09375 .... 0
0.09375·2=0.1875 .... 0
0.1875·2=0.375 .... 0
0.375·2=0.75 .... 0
0.75·2=1.5 .... 1
0.5·2=1 .... 1
-0.0234375=-0.0000011=-1.1000000000·2的-6次方
S=1 E=121 M=1000000000
1 01111001 10000000000000000000000
結果:
符號位(S) =1
階碼(E)=01111001
尾數(M)=10000000000000000000000python

經http://www.weitz.de/ieee/驗證,三個轉化均正確。

2.使用python 實現類http://www.weitz.de/ieee/的浮點數轉換功能




參考資料:
在線轉碼工具在線IEEE754轉碼工具
Python代碼參考Python實現十進制小數轉IEEE754單精度浮點數轉換工具

相關文章
相關標籤/搜索