二进制的减法,用加法来算,即正数加一个负数,结果为什么感觉怪怪的,新手一枚,求解释!

二进制,即把所有加减法都用加法来计算
比如计算5-4,可以写成5+(-4)
5是0101,4是0100,取反是1011,再加1为1100
0101加1100为10001。
10001换算成十进制是17。
但是正确的结果应该是0001,为什么会这样?要把这个结果的右数第五位1扣去,原理是什么?

P.S.直接的二进制减法我会,但是这样用正负数相加的过程有点不懂,望前辈们指教!

第1个回答  2016-08-11
5是0101,4是0100,取反是1011:这个结论建立在4个有效二进制位基础上

0101加1100为10001:也应该取4个有效位,所以应该是0001本回答被网友采纳
相似回答