
面试李组长为您分享以下优质知识
二进制编码表示数字的方式如下:
一、基本概念
二进制是一种基数为2的数制,仅使用0和1两个数字,遵循“逢二进一”的进位规则。例如:
- $1 + 1 = 10$(二进制)
- $10 + 1 = 11$(二进制)
位与状态
二进制数由多个位组成,每一位表示2的幂次方。例如:
- 8位二进制数$00000101$表示$1 times 2^0 + 1 times 2^1 = 5$
二、整数表示
无符号整数
直接用二进制表示数值,例如5表示为$00000101$。
有符号整数
采用补码表示:
- 正数:补码与原码相同,例如+5为$00000101$。
- 负数:先取绝对值的原码,再按位取反加1,例如-5的8位补码为$11111011$。
三、浮点数表示
采用 IEEE 754标准,单精度浮点数由三部分组成:
符号位:
1位,0表示正数,1表示负数。
指数位:8-12位,表示指数值。
尾数位:23-24位,表示小数部分。
例如,0.15625在单精度浮点数中表示为$00111110001000000000000000000000$。
四、字符表示
ASCII码:常用7位二进制表示字符,例如字符'A'为$01000010$。
Unicode:扩展了字符集,使用更多位数表示更多符号。
五、编码规则
指令编码:如加法指令(ADD)编码为`10`,减法指令(SUB)编码为`11`。
寄存器编码:常用固定位数表示,例如R0为`00`,R1为`01`。
六、示例总结
| 数字 | 二进制表示(8位) | 类型 | 说明 |
|------|------------------|------------|--------------------------|
| 5| 00000101 | 无符号整数 | 直接表示十进制5 |
| -5 | 11111011 | 有符号整数 | 补码表示-5 |
| 0.15625| 00111110001000000000000000000000 | 单精度浮点数 | IEEE 754标准表示 |
| A| 10100001 | 十六进制转二进制 | 十六进制A对应二进制10100001 |
通过以上规则,二进制编码能够灵活表示整数、浮点数和字符,是计算机内部数据处理的基础。