題目:Show the IEEE754 binary representation for the floating-point number (10.5)10 in single precision.
單精度存儲格式
1 符號位S(sign) - 1bit0代表正號,1代表負號
2 指數位E(exponent) - 8bitE的取值范圍為0-255(無符號整數),實際數值e=E-127。
3 尾數位M(mantissa) - 23bit
M也叫有效數字位(significant)、系數位(coefficient), 甚至被稱作“小數”。在一般情況下,m=(1.M)2,使得實際起作用范圍為1≤尾數<2。
實際例子:
對于內部存儲數據(00111111 01100110 01100110 01100110)2:符號位(最左側)S=0。這表示是個正數指數(左側第2-9位)E=(01111110)2=(126)10,所以e=E-127=-1。尾數(最后的23位)M=(1100110 01100110 01100110)2,m=(1.M)2=(1.7999999523162841796875)10該二進制小數轉為10進制的計算方式為1 + (1/2+1/4) + (1/32+1/64) + (1/512+1/1024)……實際值N=1.7999999523162841796875*2^-1=0.89999997615814208984375
十進制轉二進制
2.025675
(1)整數部分2,二進制為10
小數部分0.025675, 二進制是.0000 0110 1001 0010 1010 01
連起來是10.0000 0110 1001 0010 1010 01,這部分是有效數字。
所以尾數為: 0000 0011 0100 1001 0101 001(23位)
(2)把小數點移到第一個1的后面,左移了1位, 加上偏移量127:127+1=128,二進制是10000000,這是指數部分。
(3)2.025675是正數,所以符號位是0。把符號位,指數和尾數連起來:
0 10000000 00000011010010010101001
把這32位按8位一節整理一下,得:
0100 0000 0000 0001 1010 0100 1010 1001
十六進制表示為 4001A4A9
10.5
(1)整數部分10,二進制為1010
小數部分0.5, 二進制是.1
連起來是1010.1,這部分是有效數字。
所以尾數為: 0101 0000 0000 0000 0000 000(23位)
(2)把小數點移到第一個1的后面,左移了3位, 加上偏移量127:127+3=130,二進制是10000010,這是指數部分。
(3)10.5是正數,所以符號位是0。把符號位,指數和尾數連起來:
0 10000010 01010000000000000000000
把這32位按8位一節整理一下,得:
0100 0001 0010 1000 0000 0000 0000 0000
十六進制表示為 41280000
|