先一步步来 8位的-29的二进制原码10011101 反码11100010 补码11100011 -25的原码10011001 反码11100110 补码11100111 然后就是两个数的补码相加11100011+11100111得11001010 这个结果也是反码 化成原码就是减1再取反得10110110 最高位是符号位所以化成10进制就是-54 就是这么得来的。计算时都要溢出的 否则计算就会错误 补码也就没意义了 所以希望你能懂溢出的原因!
8 位二进制补码运算-29-25,结果溢出了,怎么解决
哪能! 不会溢出的,不用担心。
溢出,是指数据的大小,超出了编码所能表示的范围。
8 位二进制补码,可表示-128 ~ +127。
-29-25=-54,并没有超出范围。 绝不会溢出。