1

如果我用一个补码来表示数字,我应该得到什么结果?
比如数字01110(一个正数),它的补码应该是01110还是10001?
如果数字为 10001(负数),则补码值为 01110?

4

3 回答 3

3

在您的情况下,它将是 10001。一个补码意味着反转数字中的所有位。

这也意味着它将正数变为负数,反之亦然。另请注意,这会产生一些奇怪的行为,例如零的补码不是零,而是负零:00000 变为 11111。这使得使用 1 的补码的算术有点棘手,这也是当今计算机使用 2 的补码的原因之一否定。

于 2012-08-14T07:11:46.520 回答
2

对于正数,一个补码、二进制补码和有符号幅度都是相同的。对于负数,将二进制作为绝对值(正数)并将其反转以获得一个补码。将 1 的补码加 1 得到 2 的补码......并在原码的最左边加 1 位得到符号幅度......

于 2017-02-20T07:29:56.830 回答
0

这是完全错误的一个补码,二进制补码和有符号幅度对于正数都是相同的。对于负数,取负数的绝对值(正数)的二进制并将其取反以获得与二进制补码和有符号幅度不同的一个补码。

于 2016-02-04T00:07:40.523 回答