二进制数的正负表示主要通过符号位和编码规则实现,具体如下:
一、符号位与编码规则
符号位定义 二进制数的最高位(最左边的位)用于表示符号,0表示正数,1表示负数。例如,8位二进制数`0000 0101`表示正数5,`1000 0101`表示负数-5。
原码表示法
- 正数:符号位为0,其余位为绝对值的二进制表示。例如,+5的原码为`0000 0101`。 - 负数:符号位为1,其余位为绝对值的二进制表示。例如,-5的原码为`1000 0101`。
反码表示法
- 正数:与原码相同。 - 负数:符号位保持1,其余位逐位取反。例如,-5的反码为`1111 1010`。
补码表示法
- 正数:与原码相同。 - 负数:反码加1。例如,-5的补码为`1111 1011`(反码`1111 1010`加1)。 补码是计算机中实际存储负数的方式,避免了原码和反码的运算复杂性。
二、应用与范围
范围: 8位二进制数采用补码表示时,可表示范围为-128到+127。- 计算优势
三、注意事项
无符号数:若最高位为0,则表示无符号数,所有位均为数值位,范围从0到2^n-1(n为位数)。- 符号扩展:在多精度计算中,可能使用符号扩展保持位数一致,但需注意与原码、反码的区别。
通过上述规则,计算机能够统一处理正负数运算,确保数值系统的稳定性和效率。