標題: 單精度二進制數(shù)表示 [打印本頁]

作者: 51黑黑黑    時間: 2016-2-23 01:16
標題: 單精度二進制數(shù)表示
題目:Show the IEEE754 binary representation for the floating-point number (10.5)10 in single precision.

單精度存儲格式
1 符號位S(sign) - 1bit0代表正號,1代表負號

2 指數(shù)位E(exponent) - 8bitE的取值范圍為0-255(無符號整數(shù)),實際數(shù)值e=E-127。
3 尾數(shù)位M(mantissa) - 23bit
M也叫有效數(shù)字位(significant)、系數(shù)位(coefficient), 甚至被稱作“小數(shù)”。在一般情況下,m=(1.M)2,使得實際起作用范圍為1≤尾數(shù)<2。


實際例子
對于內(nèi)部存儲數(shù)據(jù)(00111111 01100110 01100110 01100110)2:符號位(最左側(cè))S=0。這表示是個正數(shù)指數(shù)(左側(cè)第2-9位)E=(01111110)2=(126)10,所以e=E-127=-1。尾數(shù)(最后的23位)M=(1100110 01100110 01100110)2,m=(1.M)2=(1.7999999523162841796875)10該二進制小數(shù)轉(zhuǎn)為10進制的計算方式為1 + (1/2+1/4) + (1/32+1/64) + (1/512+1/1024)……實際值N=1.7999999523162841796875*2^-1=0.89999997615814208984375


十進制轉(zhuǎn)二進制

2.025675                                    
(1)整數(shù)部分2,二進制為10
        小數(shù)部分0.025675, 二進制是.0000 0110 1001 0010 1010 01
       連起來是10.0000 0110 1001 0010 1010 01,這部分是有效數(shù)字。
        所以尾數(shù)為: 0000 0011 0100 1001 0101 001(23位)
(2)把小數(shù)點移到第一個1的后面,左移了1位, 加上偏移量127:127+1=128,二進制是10000000,這是指數(shù)部分。
(3)2.025675是正數(shù),所以符號位是0。把符號位,指數(shù)和尾數(shù)連起來:
         0 10000000 00000011010010010101001
        把這32位按8位一節(jié)整理一下,得:
        0100 0000 0000 0001 1010 0100 1010 1001
       十六進制表示為 4001A4A9

10.5                                    
(1)整數(shù)部分10,二進制為1010
        小數(shù)部分0.5, 二進制是.1
       連起來是1010.1,這部分是有效數(shù)字。
        所以尾數(shù)為: 0101 0000 0000 0000 0000 000(23位)
(2)把小數(shù)點移到第一個1的后面,左移了3位, 加上偏移量127:127+3=130,二進制是10000010,這是指數(shù)部分。
(3)10.5是正數(shù),所以符號位是0。把符號位,指數(shù)和尾數(shù)連起來:
         0 10000010 01010000000000000000000
        把這32位按8位一節(jié)整理一下,得:
        0100 0001 0010 1000 0000 0000 0000 0000
       十六進制表示為 41280000









歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1