负二进制数


在用于表示带符号数的二进制数表示系统中,可以使用额外的位或标志(称为符号位或符号标志)来区分负数。由于二进制数的每一位只能是 0 或 1,因此无法在二进制数前面添加减号或加号。这就是我们使用这个额外的位,即符号位或符号标志的原因。负二进制数的符号位值为 1,正数的符号位值为 0。

当整数二进制数为正数时,符号用 0 表示,大小用正二进制数表示。当数为负数时,符号用 1 表示,但其余部分可以用三种可能的方式之一表示:符号大小法、反码法和补码法。这些方法解释如下。

1. 符号大小法

在这种方法中,数字分为两部分:符号位和大小。如果数字为正,则符号位为 0;如果数字为负,则符号位为 1。大小用待表示数字的二进制形式表示。

示例:假设我们使用 5 位寄存器。-5 到 +5 的表示如下所示

数值范围:对于 k 位寄存器,MSB 为符号位,(k-1) 位为大小。可以存储的最大正数为 (2(k-1)-1),可以存储的最小负数为 -(2(k-1)-1)。

注意该系统的一个缺点是 0 有两种不同的表示:-0(例如,在五位寄存器中为 1 0000)和 +0(例如,在五位寄存器中为 0 0000)。

2. 反码法

正数的表示方式与符号大小法相同。如果数字为负,则使用反码表示。首先用正号表示该数,然后取该数的反码。

示例:假设我们使用 5 位寄存器。-5 和 +5 的表示如下所示

+5 的表示方式与符号大小法相同。-5 的表示步骤如下:

(i) +5 = 0 0101

(ii) 取 0 0101 的反码,即 1 1010。MSB 为 1,表示该数为负数。

负数的 MSB 始终为 1。

数值范围:对于 k 位寄存器,可以存储的最大正数为 (2(k-1)-1),可以存储的最小负数为 -(2(k-1)-1)。

注意该系统的一个缺点是 0 有两种不同的表示:-0(例如,在五位寄存器中为 1 1111)和 +0(例如,在五位寄存器中为 0 0000)。

3. 补码法:正数的表示方式与符号大小法相同。如果数字为负,则使用补码表示。首先用正号表示该数,然后取该数的补码。

示例:假设我们使用 5 位寄存器。-5 和 +5 的表示如下所示

+5 的表示方式与符号大小法相同。-5 的表示步骤如下:

(i) +5 = 0 0101

(ii) 取 0 0101 的补码,即 1 1011。MSB 为 1,表示该数为负数。

负数的 MSB 始终为 1。

数值范围:对于 k 位寄存器,可以存储的最大正数为 (2(k-1)-1),可以存储的最小负数为 -(2(k-1))。

优点在于该系统对 -0 和 +0 只有一个表示。在补码表示中,零 (0) 始终被视为正数(符号位为 0)。因此,它具有唯一或明确的表示。

这些是带符号二进制数的表示方法。

更新于:2019年7月30日

16K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告