1. & 运算
1.1 例题
计算23 & 77的结果(结果为⼗进制)。
1.2 传统解法
转换为两个⼆进制数,逐位进⾏计算,最终再换算为⼗进制。
1.3 简单解法
思路:
瞪眼法将两个操作数都拆分为⼗进制的若⼲个
2
的
n
次⽅之和,然后判断哪些值是两个操作数
中都包含的部分(注意,
“
与
”
的逻辑就是表示共同拥有),相加即可。
其中,
4
和
1
是共有元素,所以
23 & 77
的结果就是
4 + 1 = 5
。
2. | 运算
2.1 例题
计算23 | 77的结果(结果为⼗进制)。
2.2 传统做法
将23、77转换成二进制,然后相应位置进行或运算
2.3 简单解法
或运算和与运算简单算法有相似逻辑,只不过将
交集运算
改为求
并集运算
即可。
注意:
(二进制简单运算)
可以看得出来
64 + 16 + 8 + 4 + 2 + 1 这⼀组数就等于
127 - 32 = 95
。 因为 64 + 32 + 16 + 8 + 4 + 2 + 1
即为⼆进制中的
01111111
(
127
)
,
64 + 16 + 8 + 4 + 2 + 1
这个式⼦中只缺少了32,二进制为01011111(95)
。