二进制转换是计算机科学中的基础操作,以下是常见转换方法及示例:
一、二进制转十进制
按权展开相加法 将二进制数按位权展开,从右到左依次乘以$2^0, 2^1, 2^2, dots$,然后求和。 例如:
$$110101_2 = 1 times 2^5 + 1 times 2^4 + 0 times 2^3 + 1 times 2^2 + 0 times 2^1 + 1 times 2^0 = 32 + 16 + 4 + 1 = 53_{10}$$
*技巧*:熟练掌握$2^0$到$2^7$的权值(1, 2, 4, 8, 16, 32, 64)可快速计算。
分块计算法
将二进制数按每4位一组划分(不足补零),转换为十六进制后再转换为十进制。 例如:
$$11001010_2 = 1100 , 1010_2 = C2_{16} = 202_{10}$$
*技巧*:常用"取四合一法"(4位二进制对应1位十六进制)简化转换。
二、十进制转二进制
整数部分:除2取余法
不断将十进制数除以2,记录余数,从低位到高位排列。 例如:
$$47_{10} = 47 div 2 = 23 , text{余} , 1 rightarrow 1$$
$$23 div 2 = 11 , text{余} , 1 rightarrow 11$$
$$11 div 2 = 5 , text{余} , 1 rightarrow 101$$
最终结果为:
$$47_{10} = 101111_2$$
*技巧*:使用"乘2取整法"可快速验证结果。
小数部分:乘2取整法
将十进制小数乘以2,取整数部分,重复此过程直到小数部分为零。 例如:
$$0.75 times 2 = 1.5 rightarrow 1$$
$$0.5 times 2 = 1.0 rightarrow 1$$
最终结果为:
$$0.75_{10} = 0.11_2$$
*技巧*:注意小数位数可能无限,需设定精度。
三、二进制转八进制
三位一组法(取三合一法)
从二进制小数点开始,向左或向右每三位取一组,不足补零,转换为八进制。 例如:
$$10100100_2 = 101 , 001 , 000_2 = 51 , 000_2 = 244_8$$
*技巧*:熟练掌握$2^3$(8)的权值可快速转换。
四、二进制转十六进制
四位一组法(取四合一法)
从二进制小数点开始,向左或向右每四位取一组,不足补零,转换为十六进制。 例如:
$$11001010_2 = 1100 , 1010_2 = C2_{16}$$
*技巧*:常用"取四合一法"(4位二进制对应1位十六进制),并熟悉$2^4$(16)的权值。
五、注意事项
工具辅助:
对于长二进制数,建议使用在线转换工具(如)提高效率。
进