二进制中判断正负数的方法主要取决于数的存储方式,具体如下:
一、有符号数(补码表示)
最高位判断 若二进制数以补码形式存储,最高位(符号位)为0表示正数,为1表示负数。例如:
- 正数:`00000101`(十进制5)
- 负数:`10000101`(十进制-5)
原码与反码
- 原码: 符号位0/1直接表示正负,数值部分不变。例如:`+5`为`00000101`,`-5`为`10000101` - 反码
- 补码:反码加1。例如:`-5`补码为`10000110`
二、无符号数
若二进制数以无符号形式存储(如`byte`类型),则所有位均表示数值,最高位为0时数值范围为0-255,均为正数。
三、注意事项
符号位位置:需明确数是以有符号补码形式存储,否则最高位0/1无实际意义
特殊情况:补码中`00000000`表示+0,`10000000`表示-0,但实际应用中通常不区分+0和-0
总结:判断二进制正负需结合存储方式,有符号数通过最高位判断,无符号数全为正数。