如果我们对整数使用七位二进制补码表示,那么可以用这种方式表示的整数(事物)的数量是多少?可以用这种方式表示的最小(最多)负整数?可以用这种方式表示的最大正整数?
- 这是一个我无法回答和解释的 CS 作业问题。任何帮助,将不胜感激。
如果我们对整数使用七位二进制补码表示,那么可以用这种方式表示的整数(事物)的数量是多少?可以用这种方式表示的最小(最多)负整数?可以用这种方式表示的最大正整数?
所以它真的很容易
二进制计数通常像
>00000000 (8) = 0
>00000001 (8) = 1
>00000010 (8) = 2
>00000011 (8) = 3
>etc...etc.
在 7 位中,最后一位决定它是负数还是正数
1为负,0为正
> 10000000 = -128
> 10000001 = -127
> 10000010 = -126
> On...and on...
> 11111111 = -1
> 00000000 = 0
> 00000001 = 1
> 01111111 = 127
所以你可以去的最低点是-128
你可以去的最高是127
批准的答案不正确。使用 7 位 2 的补码,它的范围可以从 -64 到 63。(传统上,7 位只能上升到 2^n-1,即 128,但 MSB 保留用于符号,所以我们可以有 6 位来表示数据。我们将得到 64 个正值和 63 个负值,答案应该是 -64、63。)
不,因为在二进制补码中,最高有效位是符号位。0000001 是 +1,一个正数。
这就是为什么二进制补码 7 位数的范围是 -64 到 63,因为 64 是不可表示的(否则它将是负数)。
最大的负数是 1000000。前导 1 告诉您它是负数,要获得数字的大小,您翻转所有位 (0111111),然后加一个 (1000000 = 64)。所以得到的数字是 -64 到 63。