已知X=0.101101,Y=0.100101,用补码加减法求(X+Y)的补码;(X-Y)的补码,分别计算运算结果和标志位
时间: 2024-03-31 18:32:22 浏览: 51
首将X、Y转换成十进制数,X为-(1/2^1 + 1/2^3 + 1/2^5)=-0.453125,Y为-(1/2^1 + 1/2^4 + 1/2^5)=-0.3125。
然后进行补码加减法:
1. (X+Y)的补码
X的原码为0.101101,补码为1.010011,符号位为1,指数位为1000011,尾数为010101,即-1.010101*2^(-1)。Y的原码为0.100101,补码为1.011011,符号位为1,指数位为1000011,尾数为001011,即-1.001011*2^(-1)。两数相加得-1.101000*2^(-1)。
-1.101000的原码为1.101000,补码为0.011000,符号位为0,指数位为1000011,尾数为011000,即0.11000*2^(-1)。因此(X+Y)的补码为0 1000011 011000,运算结果为0.11000*2^(-1),标志位为0。
2. (X-Y)的补码
Y的补码为1.011011,取反加一得原码为0.100101,符号位为0,指数位为1000011,尾数为011011,即0.100101*2^(-1)。因此(X-Y)的补码为0 1000011 011011,运算结果为0.100101*2^(-1),标志位为0。
相关问题
设机器字长N=8,用变形补码计算X+Y和X-Y,并指出结果是否溢出?(1)X=0.111111 Y=-0.101101;(2)X=1010000 Y=1001010;(3)X=-0.110011 Y=0.101101;(4)X=-101 Y=-1100111
对于这个问题,我可以回答。
(1) X=0.111111 Y=-0.101101,X-Y=1.101100,结果没有溢出。
(2) X=1010000 Y=1001010,X-Y=10010,结果没有溢出。
(3) X=-0.110011 Y=0.101101,X-Y=-1.011000,结果没有溢出。
(4) X=-101 Y=-1100111,X-Y=1010010,结果溢出了。
设机器字长N=8,用变形补码计算X+Y,并指出结果是否溢出?(1)X=0.111111 Y=-0.101101;(2)X=1010000 Y=1001010;(3)X=-0.110011 Y=0.101101;(4)X=-101 Y=-1100111
我可以回答这个问题。
(1) X的补码为 1.000001,Y的补码为 1.010011,结果没有溢出。
(2) X的补码为 11010000,Y的补码为 11001010,结果溢出了。
(3) X的补码为 1.001101,Y的补码为 0.010011,结果没有溢出。
(4) X的补码为 11111011,Y的补码为 11100111,结果没有溢出。
阅读全文