关于二进制技巧,综合权威资料整理如下:
一、二进制转换技巧
十进制转二进制 - 位权展开法:
将十进制数按位权展开,例如$135_{10}=8 times 128 + 4 times 16 + 5 times 1 = 10001011_2$
- 短除法:通过不断除以2记录余数,例如将23.375转二进制:
- 整数部分:23 ÷ 2 得余数序列1,1,1,0,1 → $10111_2$
- 小数部分:0.375 × 2 = 0.75 → 0,0.75 × 2 = 1.5 → 1,0.5 × 2 = 1 → $.011_2$
- 合并得$10111.011_2$
二进制转十进制 按位权展开求和,例如$10010101_2=1 times 128 + 0 + 0 + 1 times 16 + 0 + 4 + 0 + 1 = 149_{10]$
八进制/十六进制转二进制
- 八进制每3位对应二进制3位(不足补零),例如$123_8 = 011 times 2^2 + 010 times 2^1 + 001 times 2^0 = 1001011_2$
- 十六进制每4位对应二进制4位(不足补零),例如$AB_{16} = 1010 times 2^4 + 11_2 times 2^1 = 11010110_2$
二、二进制运算技巧
基础运算规则
- 与运算: $1 & 1=1, 1 & 0=0, 0 & 1=0, 0 & 0=0$ - 或运算
- 非运算:$sim 1=0, sim 0=1$
- 加法:逢二进一,例如$1010_2 + 1011_2 = 10101_2$
- 减法:借二当十,例如$1010_2 - 1001_2 = 0001_2$
位操作技巧 - 掩码与位移:
通过掩码提取特定位,例如$0b11110000 & 0b00001010 = 0b00000010$
- 取反与补码:$sim 1010_2 = 0101_2$,补码运算简化加减法
三、应用与实践建议
计算机存储:理解字节数组操作,如Python中`bytes`类型用于二进制数据读写
效率提升:八进制适合快速验证二进制数,十六进制便于人类阅读长二进制串
工具辅助:使用在线转换工具或编程语言(如Python的`bin()`函数)验证结果
通过掌握这些技巧,可显著提升二进制处理效率,尤其对编程、网络开发和系统底层理解有重要意义。