0

这更像是一个硬件问题,但我无法弄清楚这个问题。我以为是 214,但由于左边的第一位,我不太确定。

4

3 回答 3

2

因为它是一个 2 的补码,所以第一位是一个意味着它是一个负数。

该值为 214 - 256 = -42。

它也可以计算为 -(~214 + 1) = -(41 + 1) = -42。

二进制是 -(~11010110 + 1) = -(00101001 + 1) = -00101010。

于 2013-02-18T00:50:56.797 回答
1

翻译很简单:

1:从 x 中减去 1

11010110-00000001=11010101

2:反转它

00101010

3:计算二进制到十进制(但忽略第一位)

2+8+32 = 42

4:记住原始值的第一位(== 1)如果1 =>反转它=> -42

于 2013-02-18T00:59:19.510 回答
1

你可以说它是一个负数,因为1在最左边的位位置有一个。获得幅度的一种方法是反转所有位,然后添加1.

11010110
00101001 <= inverted
00101010 <= +1

这个结果是十进制42的,所以原来的值是代表-42

于 2013-02-18T00:59:45.847 回答