
面试考官邢老师为您分享以下优质知识
将十进制数转换为二进制数主要有两种方法:整数部分转换和小数部分转换。以下是具体步骤和注意事项:
一、整数部分转换(推荐方法)
除2取余法
用十进制数除以2,记录每次的余数,然后将余数按反向顺序排列,即可得到二进制数。 例如将23.375转换为二进制:
- 23 ÷ 2 = 11 余 1
- 11 ÷ 2 = 5 余 1
- 5 ÷ 2 = 2 余 1
- 2 ÷ 2 = 1 余 0
- 1 ÷ 2 = 0 余 1
- 将余数反向排列得到: 10111
- 因为原数是整数,小数部分为0,最终结果为 10111。
分治法(适用于大数)
将十进制数表示为2的幂方和:
$$23 = 16 + 4 + 2 + 1 = 2^4 + 2^2 + 2^1 + 2^0$$
对应的二进制数为: 10111,与除2取余法结果一致。
二、小数部分转换
乘2取整法
将十进制小数乘以2,取整数部分作为二进制小数位,然后将小数部分继续乘以2,重复上述过程,直到小数部分为0或达到所需精度。 例如将0.375转换为二进制:
- 0.375 × 2 = 0.75,整数部分为0
- 0.75 × 2 = 1.5,整数部分为1
- 0.5 × 2 = 1.0,整数部分为1
- 小数部分为0,转换结束
- 最终结果为 0.011。
三、注意事项
补零对齐
若需要固定小数位数,可在二进制数末尾补零。例如将23.375表示为8位二进制小数: 00010111.011000。
特殊数处理
- 二进制中不存在负数,需使用补码表示;
- 无限循环小数在二进制中可能无法精确表示(如0.1)。
通过上述方法,可将任意十进制数转换为二进制数,整数部分适合"除2取余法",小数部分适合"乘2取整法"。