二进制编码是计算机中用于表示数据的基本方式,其核心规则和表示方法如下:
一、基本符号与表示方法
符号位与数值位
- 最高位为符号位:0表示正数,1表示负数。
- 例如:
- 正数+1010100(十进制100)表示为01010100;
- 负数-1010100(十进制-100)表示为11010100。
原码表示
- 正数与负数直接在符号位后按位复制,例如:
- 原码(01101)=01101;
- 原码(11110)=10001。
二、扩展编码方式
反码表示
- 正数与原码相同;
- 负数符号位为1,数值位取反(0变1,1变0),例如:
- 原码(11110)=反码(10001);
- 原码(00101)=反码(00010)。
补码表示
- 正数与原码相同;
- 负数符号位为1,数值位取反后加1,例如:
- 原码(11110)=补码(10000);
- 原码(00101)=补码(00011)。
补码是计算机中实际采用的主要编码方式,因其运算规则简单且能统一正负数运算。
三、应用场景
整数表示
- 无符号整数直接用二进制表示(如5为00000101);
- 有符号整数通常用补码表示(如-5为11111011)。
浮点数表示
- 采用IEEE 754标准,例如:
- 0.15625为00111110001000000000000000000000。
字符编码
- 常用ASCII码(7位)表示128个字符(如A=65,a=97);
- Unicode等扩展编码可表示更多字符。
四、示例总结
| 数值 | 原码 | 反码 | 补码 | 示例(8位) |
|------------|------------|------------|------------|-----------------------|
| +50| 00110010 | 00110010 | 00110010 | +50 |
| -50| 10101100 | 11010011 | 11010100 | -50 |
| 0.125 | 00011101 | 00011101 | 00011101 | 0.125 |
通过上述方法,二进制编码实现了对整数、浮点数及字符的统一表示与高效运算。