十六進制轉換成float數

下面介紹一下IEEE 32位float數據格式
對於float型數據的數值,並不能通過二進制表示直接得到,而是需要經過一定的運算。
32位float數據格式如下:
這裏寫圖片描述
含義如下:
這裏寫圖片描述
計算方法如下:
(1)首先看符號位,此例中爲1,表示數爲負;
(2)接着觀察帶符號的階碼,共8位,計算對應的十進制數,此例中爲128。用128-127=1。表示最終要將尾數的小數點向右移1位。若爲負,則向左移。
(3)尾數:本例中尾數爲 110 1101 0101 1011 1000 0001。首先在數據首端補齊隱藏位“1”,從而爲:
1110 1101 0101 1011 1000 0001。初始時小數點的位置在剛補齊的位置後,即:
1.110 1101 0101 1011 1000 0001。
接着,根據(2),小數點右移一位,變爲:11.10 1101 0101 1011 1000 0001
計算得到最終數據:
2^1+2^0.2^(-1)+2^(-3)+2^(-4)+2^(-6)+2^(-8)+2^(-10)+2^(-11)+2^(-13)+2^(-14)+2^(-22)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章