首页  > 教育解读  > 正负数如何用二进制表示

正负数如何用二进制表示

2025-05-04 00:37:17
智启星辰‌
智启星辰‌已认证

智启星辰‌为您分享以下优质知识

在计算机中,正负数的二进制表示主要通过 符号位来区分,具体方法如下:

一、基本表示方法

符号位约定

- 最高位(最左边的位)为符号位:

- `0` 表示正数

- `1` 表示负数

- 其余位表示数值的绝对值(二进制形式)。

原码表示

- 正数:符号位为 `0`,后接绝对值的二进制表示(如 `+5` 表示为 `00000000 00000000 00000000 00000101`)。

- 负数:符号位为 `1`,后接绝对值的二进制表示(如 `-5` 表示为 `10000000 00000000 00000000 00000101`)。

二、补码表示(核心方法)

为了解决原码和反码在加减法运算中的局限性,计算机普遍采用 补码表示负数:

计算补码的步骤

- 取绝对值的原码,除符号位外所有位取反(反码)。

- 反码加 `1` 得到补码(如 `-5` 的补码为 `10000000 00000000 00000000 00000101 + 1 = 10000000 00000000 00000000 00000110`)。

补码的优势

- 加法运算统一:补码使得减法运算可转化为加法运算(如 `M - N = M + (-N)`)。

- 简化硬件设计:避免了对符号位的特殊处理。

三、特殊说明

无符号数

- 所有位均表示数值,无符号数不能直接表示负数(如 `11111111` 表示 `255`,而非 `-1`)。

数据类型影响

- 不同数据类型(如 8位、16位、32位)仅影响符号位的位数,但补码的计算规则一致。

四、示例总结

| 数值 | 原码(8位) | 反码(8位) | 补码(8位) |

|------------|------------------|------------------|------------------|

| +5 | 00000000 00000000 00000000 00000101 | 00000000 00000000 00000000 00000101 | 00000000 00000000 00000000 00000101 |

| -5 | 10000000 00000000 00000000 00000101 | 11111111 11111111 11111111 11111010 | 10000000 00000000 00000000 00000110 |

| -128 | 10000000 00000000 00000000 00000000 | 11111111 11111111 11111111