-1

我是计算机工程的新手,不知道如何在 6 位中获得 -32 的 2 的补码表示,因为 -32 已达到极限。

4

1 回答 1

1

对于 2 的补码,最简单的方法是这个:

  • 以二进制形式写入正值(此处为 32)
  • 从右边开始阅读,跳过所有的零,直到找到第一个 1
  • 保持原样
  • 继续向左,这次反转每个数字 (1 => 0, 0 => 1)

示例:-7。7 是000111。第一个 1 在右边,保留它然后反转其余的。你得到111001.

因此,在您的示例中,您不能用六位表示 -32,因为第一个也是最后一个。Si 它将被读取100000=> -011111=> 31。

您至少需要再咬一口才能避免溢出(左边的最后一口是“符号”:0 表示正数,1 表示负数)。

于 2016-02-07T09:10:27.783 回答