2010-02-15 125 views

回答

2

这将是-8到+7

+0

谢谢你,我有一个大脑放屁,并正在决定是否-9会奏效。 – hodgesmr 2010-02-15 02:02:35

+1

假设2的补码。 – 2010-02-15 02:44:46

+0

@ C.McQueen - 他*表示* 2的补码,所以是的,我认为。 – JustJeff 2010-02-15 22:38:14

1

4位(使用2的补数)会给你一个范围从-8到7

这应该是简单的制定自己。

4

范围是-8到7,或1000〜0111。你可以看到全方位here。在二进制补码

0

范围将是:

-1 * 2 ^(位 - 1)

2 ^(位 - 1) - 1

因此,对于4位:

-1 * 2 ^(4 - 1)= - 1 * 2^3 = -8

2 ^(4 - 1) - 1 = 2^3 - 1 = 7

另外,如果你有兴趣,并为他人也许浏览了这个问题 - 二进制补码用于容易二进制算术:

添加 - 你只需要添加两个数无需转换和忽略溢出:

-6 + 7 = 1 是

1010 = -6
0111 = 7
------
(1)0001 = 1(忽略溢出)

...和更多尚未 - 到负二进制数转换成其相对的正数:

如果符号位(最高位)为1,表示从最低有效位到最高有效位(从右到左)的负数读数,将每一位保留在第一个“1”之后,然后反转每一位。

所以,用8位
10011000 ..变得
01101000(* 1)= 104 * -1 = -104

,这就是为什么千万是您的最低负数(或在X位1000.all zeroes..000),将其转换为无符号千万* -1 = -128

也许很长的解释,但那些没有1和0的背景我想,这是非常有用的