Part Two 位运算符

Part Two 位运算符


1. 按位与运算&

1.1 按位与

根据二进制进行按位与&

&这个符号是键盘上5对应的符号,想要输入这个符号同时按住shift5即可

1.2 运算

1.2.1 运算规则
a b a&b 结论
0 0 0 有0则为0
0 1 0 有0则为0
1 0 0 有0则为0
1 1 1 全为1则为1
1.2.2 二进制

0101&0100=0100(注:0101、0100均为二进制数)

Part Two 位运算符

1.2.3 八进制

47&33=3(注:47、33、3均为八进制数)

Part Two 位运算符

1.2.4 十进制

38&93=4(注:38、93、4均为十进制数)

Part Two 位运算符

1.2.5 十六进制

784&DBA=580(注:784、DBA、580均为十六进制数)

Part Two 位运算符

1.2.6 X进制

先将X进制数转换成二进制数,再进行按位与运算,最后再将结果转换成X进制数


2. 按位或运算|

2.1 按位或

根据二进制进行按位或|

|这个符号是键盘上\对应的符号,想要输入这个符号同时按住shift和*\*即可

2.2 运算

2.2.1 运算规则
a b a|b 结论
0 0 0 全为0则为0
0 1 1 有1则为1
1 0 1 有1则为1
1 1 1 有1则为1
2.2.2 二进制

0101|0100=0101(注:0101、0100均为二进制数)

Part Two 位运算符

2.2.3 八进制

47|33=77(注:47、33、77均为八进制数)

Part Two 位运算符

2.2.4 十进制

38|93=127(注:38、93、127均为十进制数)

Part Two 位运算符

2.2.5 十六进制

784|DBA=FBE(注:784、DBA、FBE均为十六进制数)

Part Two 位运算符

2.2.6 X进制

先将X进制数转换成二进制数,再进行按位或运算,最后再将结果转换成X进制数


3. 按位异或运算^

3.1 按位异或

根据二进制进行按位异或^

^这个符号是键盘上6对应的符号,想要输入这个符号同时按住shift6即可(英文输入法)

3.2 运算

3.2.1 运算规则
a b a^b 结论
0 0 0 二者相同时结果为0
0 1 1 二者不同时结果为1
1 0 1 二者不同时结果为1
1 1 0 二者相同时结果为0
3.2.2 二进制

0101^0100=0001(注:0101、0100、0001均为二进制数)

Part Two 位运算符

3.2.3 八进制

47^33=74(注:47、33、74均为八进制数)

Part Two 位运算符

3.2.4 十进制

38^93=123(注:38、93、123均为十进制数)

Part Two 位运算符

3.2.5 十六进制

784^DBA=A3E(注:784、DBA、A3E均为十六进制数)

Part Two 位运算符

3.2.6 X进制

先将X进制数转换成二进制数,再进行按位异或运算,最后再将结果转换成X进制数


4. 位运算表

a b a&b a|b a^b
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
全为1才为1 全为0才为0 二者相同为0不相同为1

5. 写在最后

位运算符的掌握可以为我们做算法题提供新思路。


6. 文档分享

如果您觉得这份关于位运算符的文档还不错,尝试点击分享这份文档给好友吧!


作者 @MythicalCreature
于2020 年 08月 13日发布