在二进制数制中,正负数的表示方法主要通过 符号位来实现,具体规则如下:
一、符号位的定义
最高位为符号位 - 0:
表示正数
- 1:表示负数
其余位表示数值 - 无论符号位如何,其余位均用于表示数值的大小(即绝对值)
二、正数的二进制表示
规则:
符号位为0,其余位为数值的二进制表示
示例:
正数5的二进制表示为 0000 0000 0000 0000 0000 0101
正数255的二进制表示为 1111 1111 1111 1111
三、负数的二进制表示
负数的表示需要通过 补码来实现,具体步骤如下:
求原码
- 先将负数的绝对值转换为二进制(即正数的二进制表示)
- 例如:-5的绝对值5的二进制为 0000 0000 0000 0000 0000 0101
求反码
- 将原码除符号位外的所有位取反(0变1,1变0)
- 例如:-5的反码为 1111 1111 1111 1111 1111 1010
求补码
- 将反码加1
- 例如:-5的补码为 1111 1111 1111 1111 1111 1011
四、示例总结
| 数字 | 原码| 反码| 补码|
|------|---------------------|---------------------|---------------------|
| 5| 0000 0000 0000 0000 0000 0101 | 0000 0000 0000 0000 0000 0101 | 0000 0000 0000 0000 0000 0101 |
| -5 | 1000 0000 0000 0000 0000 0101 | 1111 1111 1111 1111 1111 1010 | 1111 1111 1111 1111 1111 1011 |
五、注意事项
补码的优越性
- 补码系统简化了加法运算(如-8 + 12),避免了原码加法中的借位问题
- 例如:
- -8的补码为 1000 0000
- 12的二进制为 0000 1100
- 两者相加结果为 0000 0010(即2)
无符号数的限制
- 无符号数仅能表示非负数(0-2^n-1),无法直接表示负数
通过上述方法,二进制数能够统一表示正数和负数,并确保计算机硬件和软件的兼容性。