方法:除二取余法(从低位到高位逆序排列)。
示例:将十进制数 10
转换为二进制。
1010
(逆序取余)。方法:补码表示法(符号位 + 数值位的补码)。
步骤:
-5
转换为 8 位二进制补码。00000101
11111010
11111011
11111011
。若数值超出位数限制(如 8 位二进制最大值为 127
),需扩展符号位或报错。
格式:符号位(1 位) + 阶码(8 位) + 尾数(23 位)。
步骤:
1.xxxx × 2^E
)。示例:将 3.14
转换为单精度浮点数。
0
(正数)。3
→ 11
,小数部分 0.14
→ 转换为二进制(0.00100011110101110000101
)。1.10010001111010111000010 × 2^1
,阶码为 1 + 127 = 128
→ 10000000
。10010001111010111000010
(截取 23 位)。符号位 | 阶码 | 尾数
0 | 10000000 | 10010001111010111000010
二进制表示为:0 10000000 10010001111010111000010
。格式:符号位(1 位) + 阶码(11 位) + 尾数(52 位)。
步骤类似单精度,但阶码偏移量为 1023
,尾数保留 52 位。
0
,阶码和尾数全零。1
,尾数全零。1
,尾数非零。
类型 | 转换方法 | 示例(十进制→二进制) |
---|---|---|
正整数 | 除二取余法 | 10 → 1010 |
负整数 | 补码(符号位 + 数值位取反+1) | -5 → 11111011 |
浮点数 | IEEE 754 标准(符号+阶码+尾数) | 3.14 → 0 10000000 10010001111010111000010 |
注意:浮点数转换可能存在精度丢失(如 0.1
的二进制为无限循环小数)。