二进制与十进制的转换可以通过以下方法实现:
一、二进制转十进制
按权展开法 从右往左依次用二进制每位数字乘以2的幂次方,然后将结果相加。 例如:
$$
(1011)_2 = 1 times 2^3 + 0 times 2^2 + 1 times 2^1 + 1 times 2^0 = 8 + 0 + 2 + 1 = 11_{10}
$$
具体步骤:
- 第0位:$1 times 2^0 = 1$
- 第1位:$0 times 2^1 = 0$
- 第2位:$1 times 2^2 = 4$
- 第3位:$1 times 2^3 = 8$
- 总和:$1 + 0 + 4 + 8 = 11$
除2取余法
将十进制数不断除以2,记录余数,然后将余数倒序排列。 例如:将302转换为二进制:
- 302 ÷ 2 = 151 余 0
- 151 ÷ 2 = 75 余 1
- 75 ÷ 2 = 37 余 1
- 37 ÷ 2 = 18 余 1
- 18 ÷ 2 = 9 余 0
- 9 ÷ 2 = 4 余 1
- 4 ÷ 2 = 2 余 0
- 2 ÷ 2 = 1 余 0
- 1 ÷ 2 = 0 余 1
- 倒序排列余数:100101110
- 所以,$(302)_{10} = (100101110)_2$
二、十进制转二进制
整数部分
使用"除2取余法",将十进制整数不断除以2,记录余数并倒序排列。 例如:将43转换为二进制:
- 43 ÷ 2 = 21 余 1
- 21 ÷ 2 = 10 余 1
- 10 ÷ 2 = 5 余 0
- 5 ÷ 2 = 2 余 1
- 2 ÷ 2 = 1 余 0
- 1 ÷ 2 = 0 余 1
- 倒序排列余数:101011
- 所以,$(43)_{10} = (101011)_2$
小数部分
使用"乘2取整法",将十进制小数部分乘以2,取整数部分,重复此过程直到小数部分为0。 例如:将0.625转换为二进制:
- $0.625 times 2 = 1.25$ 取整1
- $0.25 times 2 = 0.5$ 取整0
- $0.5 times 2 = 1.0$ 取整1
- 所以,$(0.625)_{10} = (0.101)_2$
三、注意事项
位数补零: 二进制转换时,若需固定位数(如8位),不足部分需补零。例如将10转换为8位二进制: $$ (10)_{10} = 00001010_2 $$ 工具辅助