-2

如果我们对整数使用七位二进制补码表示,那么可以用这种方式表示的整数(事物)的数量是多少?可以用这种方式表示的最小(最多)负整数?可以用这种方式表示的最大正整数?

  • 这是一个我无法回答和解释的 CS 作业问题。任何帮助,将不胜感激。
4

2 回答 2

0

所以它真的很容易

二进制计数通常像

>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

于 2017-09-21T20:07:51.457 回答
0

批准的答案不正确。使用 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。

于 2021-09-10T18:57:39.887 回答