二进制码中正负数的表示方法主要通过 原码、反码和补码三种方式实现,具体计算规则如下:
一、原码表示法
符号位与数值位 - 最高位为符号位:0表示正数,1表示负数。
- 其余位表示数值的绝对值,例如+5表示为`00000000 00000000 00000000 00000101`,-5表示为`10000000 00000000 00000000 00000101`。
特殊情况
- +0和-0都表示为`00000000`,但实际存储时-0需通过取反加1得到`11111111`。
二、反码表示法
正数反码
- 正数的反码与原码相同,例如+5仍为`00000000 00000000 00000000 00000101`。
负数反码
- 负数的反码是原码除符号位外所有位取反,例如-5的反码为`11111111 11111111 11111111 11001010`。
三、补码表示法(最常用)
负数补码
- 负数的补码是反码加1,例如-5的补码为`11111111 11111111 11111111 11001011`(即反码`11111111 11111111 11111111 11001010`加1)。
正数补码
- 正数的补码与原码相同,例如+5仍为`00000000 00000000 00000000 00000101`。
四、转换示例
以-100为例:
原码: `10000000 00000000 00000000 01100100` `11111111 11111111 11111111 10011011` `11111111 11111111 11111111 10011100`(反码加1)。反码:
补码:
五、应用说明
存储与运算:计算机内部统一使用补码表示负数,简化加减法运算。
溢出处理:8位二进制数范围为-128到+127,超出范围需舍弃高位(例如10000001表示-127,10000010表示-126)。
通过以上方法,二进制码可灵活表示正负数,并确保计算机硬件统一处理。