十进制和二进制之间的转换
从左到右(小数点后第1位开始),每一位的值乘以2的负幂次。通过上述方法,可以快速完成整数和小数的十进制与二进制转换。从右到左(最低位到最高位),每一位的值乘以2的幂次。将小数部分不断乘以2,取整数部分作为二进制位。依次减去这些幂次值,标记对应二进制位为1。找到小于等于目标数的最大2的幂次。将十进制数不断除以2,记录余数。直到小数部分为0或达到所需精度。直到商为0时停止,将余数。(高位到低位依次填充
·
十进制和二进制之间的转换是计算机科学中的基础操作,以下是详细的转换方法及示例:
一、十进制 → 二进制
方法1:除2取余法(整数部分)
-
步骤:
-
将十进制数不断除以2,记录余数。
-
直到商为0时停止,将余数逆序排列即为二进制结果。
-
-
示例(以十进制数
25为例):25 ÷ 2 = 12 余 1 12 ÷ 2 = 6 余 0 6 ÷ 2 = 3 余 0 3 ÷ 2 = 1 余 1 1 ÷ 2 = 0 余 1-
余数逆序排列:
11001 -
结果:
25₁₀ = 11001₂
-
方法2:位权展开法(整数部分)
-
步骤:
-
找到小于等于目标数的最大2的幂次。
-
依次减去这些幂次值,标记对应二进制位为1。
-
-
示例(以十进制数
25为例):2⁴ = 16 ≤ 25 → 标记第5位为1,余 25-16=9 2³ = 8 ≤ 9 → 标记第4位为1,余 9-8=1 2² = 4 > 1 → 标记第3位为0 2¹ = 2 > 1 → 标记第2位为0 2⁰ = 1 ≤ 1 → 标记第1位为1,余 1-1=0-
二进制结果:
11001₂(高位到低位依次填充)。
-
二、二进制 → 十进制
方法:按权展开求和
-
步骤:
-
从右到左(最低位到最高位),每一位的值乘以2的幂次。
-
将所有结果相加。
-
-
示例(以二进制数
11001₂为例):1 1 0 0 1 ↓ ↓ ↓ ↓ ↓ 2⁴ 2³ 2² 2¹ 2⁰ =16 +8 +0 +0 +1 =25-
结果:
11001₂ =25₁₀
-
三、小数部分的转换
1. 十进制小数 → 二进制小数
-
步骤:
-
将小数部分不断乘以2,取整数部分作为二进制位。
-
直到小数部分为0或达到所需精度。
-
-
示例(以十进制数
0.625为例):0.625 × 2 = 1.25 → 整数部分1,余0.25 0.25 × 2 = 0.5 → 整数部分0,余0.5 0.5 × 2 = 1.0 → 整数部分1,余0-
二进制结果:
0.101₂
-
2. 二进制小数 → 十进制小数
-
步骤:
-
从左到右(小数点后第1位开始),每一位的值乘以2的负幂次。
-
将所有结果相加。
-
-
示例(以二进制数
0.101₂为例):1×2⁻¹ + 0×2⁻² + 1×2⁻³ = 0.5 + 0 + 0.125 = 0.625-
结果:
0.101₂ =0.625₁₀
-
四、总结
| 转换方向 | 方法 | 关键点 |
|---|---|---|
| 十进制整数 → 二进制 | 除2取余法 / 位权展开法 | 余数逆序排列,注意最高位补0 |
| 二进制 → 十进制整数 | 按权展开求和 | 从右到左计算权重(2⁰, 2¹, ...) |
| 十进制小数 → 二进制 | 乘2取整法 | 结果可能无限循环 |
| 二进制小数 → 十进制 | 按权展开求和 | 从左到右计算权重(2⁻¹, 2⁻²,...) |
通过上述方法,可以快速完成整数和小数的十进制与二进制转换。
更多推荐


所有评论(0)