二进制数据转换主要分为十进制转二进制和二进制转十进制两种类型,具体方法如下:
一、十进制转二进制
除2取余法 - 将十进制数除以2,记录余数(奇数记1,偶数记0),然后将商继续除以2,直到商为0。 - 余数从低位到高位排列即为二进制数。 - 示例:37 → 100101(1→37÷2=18余1,0→18÷2=9余0,1→9÷2=4余1,0→4÷2=2余0,1→2÷2=1余0)。
短除法
- 用2连续去除十进制数的每一位,记录余数,最后将余数倒序排列。 - 示例:23 → 10101(23÷2=11余1,11÷2=5余1,5÷2=2余1,2÷2=1余0,1÷2=0余1)。
位运算法
- 通过按位与运算(如 `n & 1`)逐位提取二进制位,拼接结果。 - 示例:13 → 1101(13 & 1=1,6 & 1=0,3 & 1=1,1 & 1=1)。
工具辅助
- 使用Excel的 `DEC2BIN` 函数或MathTool等工具快速转换。 - 示例:在Excel中输入 `=DEC2BIN(101)` 得到 `101101`。
二、二进制转十进制
位权展开法
- 将二进制数从高位到低位排列,每位乘以2的对应幂次(如 `1×2^6 + 0×2^5 + 1×2^3 + 1×2^0`),求和。 - 示例:101101 → 1×64 + 0×32 + 1×8 + 1×1 = 101。
分组转换法
- 将二进制数按4位一组(不足补0),每组转换为对应的十六进制数,再合并。 - 示例:10001111 → 1000(8)+ 1111(F)= 217(十六进制)。
注意事项:
二进制转十进制时,位数从右至左依次为2^0、2^1、2^2等;
大数转换建议使用工具或短除法,避免手动计算错误。