【问题标题】:Seven bit and two compliment七位和二进制补码
【发布时间】:2017-09-21 19:51:10
【问题描述】:

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

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

【问题讨论】:

标签: twos-complement 7-bit


【解决方案1】:

其实很简单

二进制计数通常是这样的

>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

【讨论】:

  • 非常感谢。我一直在努力赶上这门课,因为我的书迟到了,我想我的大脑已经不堪重负了。您给出的答案很有道理,我非常感谢。
【解决方案2】:

批准的答案不正确。 使用 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-12-21
    • 1970-01-01
    • 2012-09-21
    • 2016-10-01
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    相关资源
    最近更新 更多