负数在计算机中的二进制表示通常采用 补码(Two's Complement)形式,这种表示方法具有以下特点:
一、补码的构成规则
符号位表示 - 最高位为符号位,0表示正数,1表示负数。
- 例如:8位系统中,+5表示为`0000 0101`,-5表示为`1000 0000`(符号位为1)。
补码计算步骤
- 原码: 直接将正数的二进制表示保持不变(符号位为0)。 - 反码
- 补码:在反码的基础上加1。
二、具体示例
以-5为例(假设8位系统):
原码:
+5的二进制为`0000 0101`,则-5的原码为`1000 0101`。
反码:
将原码除符号位外的位取反,得到`1111 1010`。
补码:
反码加1,得到`1111 1011`。
三、其他说明
溢出处理:补码系统可以简化加法和减法运算,但需要注意溢出情况(如-2^31到2^31-1)。
实际应用:补码通常由硬件自动处理,编程时只需约定符号位即可。
四、常见误区
符号位与数值位混淆:符号位仅表示正负,不参与数值计算。
补码加法:补码加法遵循“借一当二”规则,与原码加法不同。
通过补码表示,计算机能够统一处理正负数运算,简化硬件设计。