负整数的二进制表示采用 补码形式,这是计算机内部处理负数的标准方法。以下是具体说明:
一、补码表示法
直接将数值按二进制表示,最高位为符号位(0表示正,1表示负),其余位为数值。例如,5的原码为 `00000000 00000000 00000000 00000101`。
反码
对原码除符号位外的所有位取反(0变1,1变0)。例如,5的反码为 `11111111 11111111 11111111 11111010`。
补码
在反码基础上加1。例如,5的补码为 `11111111 11111111 11111111 11111011`,即-5的补码表示。
二、计算规则
负数运算: 计算机内部所有算术运算均基于补码进行,无需单独处理负数。 溢出检测
三、应用场景
C语言:使用 `int`、`short`、`long` 等有符号类型存储负数,底层自动转换为补码。
Java:整数类型为4字节,符号位隐含,例如-36的补码为 `11111111 11111111 11111111 11011100`。
四、示例
以-42为例:
1. 正数42的二进制:`00000000 00000000 00000000 00101010`
2. 取反:`11111111 11111111 11111111 11010101`
3. 加1:`11111111 11111111 11111111 11010110`(即-42的补码)。
通过补码系统,计算机能够统一处理正负数运算,简化了硬件设计。