2、已知:X = 2010 • 0.100101 ,Y = 2100 •( - 0.011010 ) 均为真值,阶码、尾数均以补码表示,设阶符2位,阶码3位,尾符2位,尾数6位,求 :X+Y (如遇舍入采用0舍1入) (12分)
时间: 2024-03-30 21:37:33 浏览: 106
首先,将X和Y转换为十进制数:
X = 2010 • 0.100101 = 201.81
Y = 2100 •( - 0.011010 )= - 68.4
接下来,将X和Y转换为补码表示法。
对于X,首先将2010转换为8位二进制数: 00001000 00101110
然后将小数部分0.100101转换为二进制数: 00011001
将小数部分补齐到6位: 000110
将整个数补码表示: 00001000 00101110 00011001
阶符为0,阶码为010,尾符为01,尾数为011001,因此X的补码表示为:
0 010 01 011001
对于Y,首先将2100转换为8位二进制数: 00001000 01101000
然后将小数部分-0.011010转换为二进制数: 10010110
将小数部分补齐到6位: 101101
将整个数补码表示: 11110111 10010111
阶符为1,阶码为101,尾符为10,尾数为010111,因此Y的补码表示为:
1 101 10 010111
接下来,将X和Y对齐,即将阶码和尾数对齐。由于X的阶码为010,Y的阶码为101,因此需要将X的阶码左移3位,变为1010。同时,需要将X的尾数右移3位,变为000011。对于Y,需要将Y的尾数左移3位,变为010111000。对齐后,X和Y的补码表示为:
0 1010 01 000011
1 1010 10 010111000
接下来,将X和Y的符号、阶码、尾数分别相加。首先,符号位相同,因此相加不影响结果。其次,阶码相同,因此不需要进行阶码的操作。最后,将尾数相加。由于X和Y的尾数都为正数,因此直接相加即可。相加结果为:000111111,需要向左移一位,得到001111110。因此,X+Y的补码表示为:
0 1010 11 111110
最后,将补码表示法转换为十进制数。阶码为11,因此需要将尾数左移2位,变为11111100。最终结果为:
X + Y = - 43.59
因此,X+Y的值为-43.59。
阅读全文