二进制的计算涉及基础运算和转换方法,以下是综合整理的核心内容:
一、基础运算规则
- 规则:0+0=0,0+1=1,1+0=1,1+1=10(向高位进位)
- 示例:111(7)+1010(10)=10001(17)
减法
- 规则:0-0=0,1-0=1,1-1=0,0-1=1(借位时1借为2)
- 示例:1010(10)-0101(5)=0101(5)
乘法
- 规则:0×0=0,1×0=0,0×1=0,1×1=1
- 示例:1101(13)×101(5)=111113(61)
除法
- 规则:0÷1=0,1÷1=1,0÷0无意义
- 示例:1010(10)÷11(3)=10(余2)
二、位移运算
右移(÷2的幂): 每右移1位相当于除以2,32位分组计算 示例:j = i, j >> i = j / (1 << (i % 32))
左移(×2的幂):每左移1位相当于乘以2,32位分组计算
示例:j = i, j << i = j * (1 << (i % 32))
三、位运算
1&1=1,1&0=0,0&1=0,0&0=0
1|1=1,1|0=1,0|1=1,0|0=0
1^1=0,1^0=1,0^1=1,0^0=0
~0=1,~1=0
四、二进制转十进制
采用按权展开法:
$$N = sum_{i=0}^{n-1} K^i cdot C^i$$
其中,$K$为基数(2),$C$为进制(10),$n$为位数
五、常见转换公式
每3位二进制对应1位八进制,不足补零
示例:1010(二进制)=12(八进制)
每4位二进制对应1位十六进制,不足补零
示例:11010110(二进制)=D2(十六进制)
使用`BIN2OCT`(Excel函数)或手动分段计算
六、注意事项
负数转换需特殊处理(如二进制补码表示)
32位整数右移时需注意符号位扩展
以上方法覆盖了二进制计算的基础与实用技巧,可根据具体场景选择适用运算类型。