在补码加减运算中,两个异号的数相加时,不可能发生溢出。()

游客 发布于 2023-12-22 阅读(24)
在补码加减运算中,两个异号的数相加时,结果的绝对值等于两个操作数绝对值之和。如果这个和大于等于最大正数(对于无符号数)或者大于最大负数的绝对值(对于有符号数),就会发生溢出。

例如,假设我们使用8位补码表示有符号整数,最大正数为127(二进制表示为01111111),最小负数为-128(二进制补码表示为10000000)。如果一个正数(如50,二进制补码表示为00110010)和一个负数(如-70,二进制补码表示为11001110)相加,结果为-20(二进制补码表示为11010110),不会发生溢出。但是,如果一个正数(如120,二进制补码表示为10011100,实际上是-128)和一个负数(如-50,二进制补码表示为10110010)相加,结果为78(二进制补码表示为01001110),但由于结果超过了最大正数127,所以会发生正向溢出。

因此,两个异号的数相加时,有可能发生溢出,原题说法错误。