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

Binary 使用操作执行二进制减法(不带-),binary,Binary,我知道我可以通过移动和添加二进制数来执行乘法。但是我想知道我是否也可以不使用减号进行减法 我能达到的最接近的方法是y+(~x+1)。但是我不知道它是否正确,还有其他方法吗 您所指的方法是一种用二进制表示负数的方法,称为2的补码。二者的补码是通过将所有位倒置并加上一位来找到的。比如说, 7 - 5 = 2 0111 - 0101 = 0010 0111 + 1011 = 1 0010 额外的一个是一个携带 也有一种使用补码的方法,其中位被简单地反转,但这有可能创建负0的缺点 这是在硬件中

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


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

您所指的方法是一种用二进制表示负数的方法,称为2的补码。二者的补码是通过将所有位倒置并加上一位来找到的。比如说,

7 - 5 = 2

0111 - 0101 =   0010

0111 + 1011 = 1 0010
额外的一个是一个携带

也有一种使用补码的方法,其中位被简单地反转,但这有可能创建负0的缺点


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

只需使用减法运算符即可。每种语言都支持它,而且它的速度将与任何其他语言一样快。