2014年4月10日 星期四

IEEE754 浮點數

整體呈現

IEEE 754浮點數的三個域
二進位浮點數是以符號數值表示法的格式儲存——最高有效位被指定為符號位(sign bit);「指數部份」,即次高有效的e個位元,儲存指數部分;最後剩下的f個低有效位的位元,儲存「尾數」(significand)的小數部份(在非規約形式下整數部份默認為0,其他情況下一律默認為1)。

指數偏移值

指數偏移值(exponent bias),是指浮點數表示法中的指數域的編碼值為指數的實際值加上某個固定的值,IEEE 754標準規定該固定值為2e-1 - 1,其中的e為儲存指數的位元的長度。
以單精度浮點數為例,它的指數域是8個位元,固定偏移值是28-1 - 1 = 128−1 = 127.單精度浮點數的指數部分實際取值是從128到-127。例如指數實際值為1710,在單精度浮點數中的指數域編碼值為14410,即14410 = 1710 + 12710.
採用指數的實際值加上固定的偏移值的辦法表示浮點數的指數,好處是可以用長度為e個位元的無符號整數來表示所有的指數取值,這使得兩個浮點數的指數大小的比較更為容易。



浮點數表示法轉換範例:
符號部分則由於該數(3.14159)為正數故為0
指數部分:指數為1,由於指數部分是採用超127,也就是將原數加上127再放入圖中的指數部分,因此指數部分表示如後:(128)10=(1000 0000)2
假數部分取23位放入圖中的假數部分
(3.14159)10= (11.00100100)2= (1.1001001000011111100111110*21)2



範例:

(35.5)10
=(100011.1)2
=(1.000111000000000000000*25)2
5=(00000101) 2
5超127=(00000101) 2+(01111111) 2
=(1000100) 2

沒有留言:

張貼留言