已知 x、y 是二进制数,用变形补码计算x-y,并判断结果是否溢出。 1. x=11011, y=11101 2. x=10111, y=-11110 3. x=-11111, y=11001
时间: 2024-05-22 08:12:13 浏览: 248
补码运算及溢出分析课程设计报告.pdf
1.
x的原码为-5,补码为10101
y的原码为-3,补码为11011
y的补码取反加1得到其原码为3,因此x-y可以转化为x+(-y),即10101+(-3)。
-3的补码为11011,取反加1得到00101,因此10101+00101=11010,即-6的补码。
由于结果为负数,因此没有溢出。
2.
x的原码为-9,补码为10111
y的原码为2,补码为00010
y的补码取反加1得到其原码为-2,因此x-y可以转化为x+(-y),即10111+(-2)。
-2的补码为11110,取反加1得到00010,因此10111+00010=11001,即-7的补码。
由于结果为负数,因此没有溢出。
3.
x的原码为1,补码为00001
y的原码为-7,补码为10001
x-y可以转化为x+(-y),即00001+(-7)。
-7的补码为10001,取反加1得到01111,因此00001+01111=10000,即-16的补码。
由于结果为负数且位数超出原码表示范围,发生了溢出。
阅读全文