设浮点数格式为:阶码3位数字位,尾数8位数字位.且都用补码表示。按浮点运算步骤,计算x+y和x-y。舍人处理采用0舍1人法。 (1) x=2^100 x0.11001010, y=2^011 x(-0.1001011) (2) x=2^(-010)x(-0.01101011),y=2^(-100)x(-0.11010101) (3) x=2^(-001)x0.10010110,y= 2^010 x(-0.01110010)
时间: 2023-06-13 15:02:15 浏览: 174
(1)
首先将 x 和 y 转换为科学计数法形式:
x = 1.1001010 x 2^103,y = -1.001011 x 2^2
然后将 x 和 y 的尾数对齐,因为 x 的阶码比 y 大,所以需要将 y 的尾数向右移动 101 位,同时要记得在尾数最高位补 1,因为这是规定的隐含位。
x = 1.1001010 x 2^103,y = 0.00001001011 x 2^103
接着将 x 和 y 的符号位相加,得到 x - y 的符号位为 0,即为正数。
接下来是尾数的运算。x 和 y 的尾数都是 8 位,所以可以直接相加。但是在相加之前需要将 y 的尾数取反,并加上 1,因为这是补码表示法。
y' = 1.11110110101
x + y' = 11.1001000110
由于相加后的结果超过了 8 位,所以需要将尾数向右移动一位,同时将阶码加 1。
x - y = 1.1100100 x 2^104
最后需要进行舍入处理,根据舍入规则,如果尾数的第 9 位为 1,则向最高位进位;如果尾数的第 9 位为 0,则直接舍去。
因为尾数的第 9 位是 0,所以结果为 1.1100100 x 2^104。
(2)
x = -0.0001101011 x 2^-10,y = -1.1010101 x 2^-100
将 x 和 y 的尾数对齐,因为 y 的阶码比 x 小,所以需要将 x 的尾数向右移动 90 位,同时要在尾数最高位补 1。
x = 1.111111101011011 x 2^-10,y = 1.111111011010101 x 2^-10
接下来是尾数的运算。y 的尾数需要取反并加上 1,因为这是补码表示法。
y' = 0.000000100101011
x + y' = 1.111111110000110
尾数相加后,需要将阶码减 1,同时将尾数向右移动一位。
x - y = -1.000000001 x 2^-11
最后进行舍入处理。尾数的第 9 位是 0,所以结果为 -1.000000001 x 2^-11。
(3)
x = 0.00010110 x 2^-1,y = -1.110010 x 2^2
将 x 和 y 的尾数对齐,因为 x 的阶码比 y 小,所以需要将 y 的尾数向右移动 1 位,同时在尾数最高位补 1。
x = 0.00010110 x 2^-1,y = 1.1110010 x 2^1
接下来是尾数的运算。y 的尾数需要取反并加上 1,因为这是补码表示法。
y' = 0.00011110
x + y' = 0.00010110110
尾数相加后,需要将阶码加 1,同时将尾数向右移动一位。
x - y = -1.0010110 x 2^0
最后进行舍入处理。尾数的第 9 位是 1,所以需要向最高位进位。进位后,尾数变为 -1.0010111,因为尾数的最高位是 1,所以需要将阶码加 1。结果为 -1.0010111 x 2^1。
阅读全文