二进制数字转换主要分为二进制与其他进制(如十进制、八进制、十六进制)之间的转换,具体方法如下:
一、二进制转十进制
按权展开求和 将二进制数从右到左按位展开,每一位的值乘以2的对应次方(次方从0开始),然后将所有乘积相加。 例如:二进制数 `1101` 转换为十进制:
$$
1 times 2^3 + 1 times 2^2 + 0 times 2^1 + 1 times 2^0 = 8 + 4 + 0 + 1 = 13
$$
二、十进制转二进制
除2取余法
将十进制数不断除以2,记录每次的余数,然后将余数倒序排列。 例如:十进制数 `13` 转换为二进制:
$$
13 div 2 = 6 text{余}1
6 div 2 = 3 text{余}0
3 div 2 = 1 text{余}1
1 div 2 = 0 text{余}1
$$
倒序排列后得到 `1101`。2. 位权法
直接将十进制数按位分解为2的幂次之和。 例如:十进制数 `45` 转换为二进制:
$$
45 = 32 + 8 + 4 + 1 = 101101_2
$$
三、二进制转八进制
三合一法
将二进制数从右向左每3位分为一组,不足3位补0,然后将每组转换为对应的八进制数。 例如:二进制数 `100011111` 转换为八进制:
$$
100 011 111 rightarrow 437_8
$$
四、二进制转十六进制
四合一法
将二进制数从右向左每4位分为一组,不足4位补0,然后将每组转换为对应的十六进制数。 例如:二进制数 `11101011` 转换为十六进制:
$$
1110 1011 rightarrow E3_{16}
$$
五、注意事项
小数转换: 二进制转十进制小数采用乘2取整法;十进制转二进制小数采用乘16取整法(循环至小数部分为0或达到精度)。- 负数处理