Part Two 位运算符
Part Two 位运算符
1. 按位与运算&
1.1 按位与
根据二进制进行按位与&
&这个符号是键盘上5对应的符号,想要输入这个符号同时按住shift和5即可
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均为二进制数)
1.2.3 八进制
47&33=3(注:47、33、3均为八进制数)
1.2.4 十进制
38&93=4(注:38、93、4均为十进制数)
1.2.5 十六进制
784&DBA=580(注:784、DBA、580均为十六进制数)
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均为二进制数)
2.2.3 八进制
47|33=77(注:47、33、77均为八进制数)
2.2.4 十进制
38|93=127(注:38、93、127均为十进制数)
2.2.5 十六进制
784|DBA=FBE(注:784、DBA、FBE均为十六进制数)
2.2.6 X进制
先将X进制数转换成二进制数,再进行按位或运算,最后再将结果转换成X进制数
3. 按位异或运算^
3.1 按位异或
根据二进制进行按位异或^
^这个符号是键盘上6对应的符号,想要输入这个符号同时按住shift和6即可(英文输入法)
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均为二进制数)
3.2.3 八进制
47^33=74(注:47、33、74均为八进制数)
3.2.4 十进制
38^93=123(注:38、93、123均为十进制数)
3.2.5 十六进制
784^DBA=A3E(注:784、DBA、A3E均为十六进制数)
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日发布