使用操作进行二进制减法(不带 - )

时间:2014-05-29 02:16:43

标签: binary

我知道我可以通过移位和添加二进制数来执行乘法运算。但是我想知道我是否也可以减去使用减号。

我能达到的最接近的方法是y +(~x + 1)。但是我不知道它是否正确,还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

您所指的方法是一种表示二进制中负数的方法,称为二进制补码。通过反转所有位并添加一位来找到这两个补码。例如,

7 - 5 = 2

0111 - 0101 =   0010

0111 + 1011 = 1 0010

额外的一个是随身携带。

还有一种使用补码的方法,其中位被简单地反转,但这样做的缺点是可能产生负0。

这是减法可以在硬件中实现的方式。