二进制正负数的比较规则如下:
一、正数比较规则
位数多的正数大于位数少的正数。例如:`1010`(10)大于`0101`(5)。
逐位比较
位数相同时,从左到右逐位比较,高位数字大的数更大。例如:`1010`(10)大于`1001`(9)。
二、负数比较规则
补码表示法
负数采用二进制补码形式表示,比较时需先对正数取反加1得到补码,再与负数补码对比。例如:
- 比较`-3`和`-5`:
- `3`的二进制为`0011`,取反加1后为`1100`(即`-3`的补码);
- `5`的二进制为`0101`,取反加1后为`1010`(即`-5`的补码);
- 因`1100`(-3)大于`1010`(-5),所以`-3 > -5`。
绝对值比较
补码形式下,数值越大的负数实际值越小。例如:`-10`(补码`11111110`)小于`-5`(补码`11111101`)。
三、特殊情况处理
零的特殊性: 零大于所有负数,小于所有正数。 符号位区分
总结
正数按位数和逐位比较,负数通过补码形式转换后比较。负数比较时需注意“数值越大实际值越小”的特性。