我想找到 0000 的 2 的补码

I want to find 2's complement of 0000

我想设计一个硬件来给出输入的 4 位二进制数的 2 的补码。但是我停留在第一个输入: 0000.Because 我通常用来求 2 的补码的方法是先找到二进制数的 1 的补码,然后将 1 添加到 it.But 如果我对 0000 做同样的事情,那么它会给我 5 位数 10000。这就是问题所在。

如果您使用 n 位值,则必须 切断 高位。四位0000的二进制补码是10000的后四位,即0000。否则 100 的补码将是:

1111111111...ad infinitum...1111111011

而不是正确的 011

那(无关位的切断)是有道理的,因为零的否定是零(尽管这对于一个的补码或符号幅度可能是有争议的,其中 -0 是一种明显的可能性)。

如果你设计硬件,请参阅产生4位补码的硬件电路。