在408【2009年统考真题】中,浮点数X=
2
7
×
29
/
32
2^7\times29/32
27×29/32,其中29/32就是整数除法,1/32也就是
2
−
5
2^{-5}
2−5,二进制就是0.00001,29=31-2,二进制就是11101,29/32也就是0.11101。X=
2
7
×
0.11101
2^7\times0.11101
27×0.11101
同理,Y=
2
5
×
5
/
8
2^5\times5/8
25×5/8,5/8二进制就是0.101,Y=
2
5
×
0.10100
2^5\times0.10100
25×0.10100。
计算x+y,对阶,尾数求和,规格化,舍入,判溢。
[ x ] 浮 = 00111 , 00.11101 , [ y ] 浮 = 00101 , 00.10100 [x]_浮=00111,00.11101,[y]_浮=00101,00.10100 [x]浮=00111,00.11101,[y]浮=00101,00.10100
(1)对阶 Δ E = 111 − 101 = 2 \Delta E=111-101=2 ΔE=111−101=2,所以y尾数右移2位, [ y ] 浮 = 00111 , 00.00101 [y]_浮=00111,00.00101 [y]浮=00111,00.00101
(2)尾数求和 [ x + y ] 浮 = 00111 , 01.00010 [x+y]_浮=00111,01.00010 [x+y]浮=00111,01.00010
(3)规格化 因为尾数符号位溢出,所以向右规格化,尾数右移,阶码加1。 [ x + y ] 浮 = 01000 , 00.10001 [x+y]_浮=01000,00.10001 [x+y]浮=01000,00.10001
(4)舍入 采用0舍1入法(如果被移除的是1,则尾数末尾加1,如果是0,则不加) 不变, [ x + y ] 浮 = 01000 , 00.10001 [x+y]_浮=01000,00.10001 [x+y]浮=01000,00.10001
(5)判溢 阶码符号位为01,溢出。