二进制中正负数的表示方法主要通过 符号位+补码实现,具体规则如下:
一、符号位表示
最高位为符号位:0表示正数,1表示负数。例如,8位二进制数`00000001`表示正1,`10000001`表示负1。
二、负数表示方法(补码)
原码:
直接将数值的二进制表示,符号位为0。例如,+5的原码为`00000101`。
反码:
符号位不变,其余位按位取反。例如,+5的反码为`01111010`。
补码:
反码加1。例如,+5的补码为`01111011`。
三、计算规则
加减运算统一使用补码:正数补码即原码,负数补码通过反码加1得到。例如,-5的补码为`11111011`(8位)。
溢出处理:补码运算时需注意符号位变化,超出范围会自动回绕。
四、应用场景
有符号数:最高位为符号位,范围如8位`-128`到`+127`,32位`-2^31`到`+2^31-1`。
无符号数:无符号位,所有位均表示数值,范围如8位`0`到`255`。
五、示例
以8位为例:
+5:原码`00000101` → 反码`01111010` → 补码`01111011`。
-5:原码`10000101` → 反码`11111010` → 补码`11111011`。
通过上述方法,计算机能够统一处理正负数运算,简化了加减逻辑。