1.設 24 位長的浮點數,其中,階符 1 位,階碼 5 位,數符 1 位,,尾數 17 位,階碼和尾數均用補碼錶示,且尾數採用規格化形式(指 0.1xxx 形式,並非 IEEE754 ),則它能表示的絕對值最小的負數真值是 ()
A、-2^31(1-2^(-17)) B、2^(-33) C、-2^31 D、2^(-32)(-2^(-1)-2^(-17))
答案:D
解析:浮點數的階碼爲5位,階符1位,階碼用補碼錶示,就是指數用補碼錶示;對於定點整數,指數部分,補碼錶示的最小值爲 -32 ,即10000(補碼錶示)即真值爲 2^(-32)【n 位數(包含一位符號位)的補碼錶示範圍爲 -2^(n-1)~ 2^(n-1)-1】;尾數用規格化形式,因此絕對值最小應爲 1.011111...11(小數點後面一共16個 1,因爲尾數17位),該數對應的原碼爲 1.100...01(中間有15個 0),其真值爲 -(2^(-1)+ 2^(-17))【 真值計算:可以使用補碼轉換真值的公式(- 符號位* 2^n+各位* 2^r (一共有n-1位)),也可以先將補碼轉換成原碼在計算真值 】;總體表示爲 2^(-32)(-2^(-1)-2^(-17)),即爲D選項。
2.設浮點數排列及長度格式爲 數符 1 位,階碼含階符共 5 位,尾數 6 位,若階碼和尾數均採用補碼錶示,已知 X=0.110101*2^0011,Y=-0.111010*2^0010(PS:上述兩個浮點數中,除基2採用10進制,其餘的數字都是二進制),則【X+Y】補 的 值爲()
A、0 00100 101001 B、0 00011 011000 C、0 00010 110000 D、1 00011 010010
答案 :C
解析:浮點數計算步驟:表示浮點數 -- > 對階(小階對大階)-- >浮點數運算 -- > 規格化和舍入處理
X= 0 0011 0 110101
Y= 0 0010 1 000110
對階以後,
Y= 0 0011 1 100011
【X+Y】補 = 0.011000*2^0011(補碼運算)
= 0.110000*2^0010
即結果爲 0 00010 110000
PS:我寫的解析是按照 【階符-階碼-數符-數碼】,選項是按照【數符-階符-階碼-數碼】寫的。
以後會繼續補充計算機組成原理的典型題目。