大家好,今天和大家分享的是位运算符中的按位与,按位或,按位异或。
首先先声明一下:参加位运算的两个数都要用二进制来表示。
一般给的数都是十进制,十进制转化为二进制的方法如下:
![](https://img-blog.csdnimg.cn/img_convert/9f1ee6e60f8f489988b359f4a89bf45f.jpeg)
注意:如果给的是八进制,十六进制等,把2改成对应的进制数进行运算即可;
二进制转化为十进制方法如下:
![](https://img-blog.csdnimg.cn/img_convert/27c6d2635b91662e5bf1a31106d182d7.jpeg)
一.按位与运算符(&):
运算规则:两个数的二进制数对应的位数相同为1,不相同为0;
2. 例子:1&1=1; 1&0=0; 0&1=0; 0&0=0;
1&5也即(00 00 00 01)&(00 00 01 01)=(00 00 00 01)所以1&5=1
![](https://img-blog.csdnimg.cn/img_convert/f5a87e65def066eee300b7c71604267f.png)
二.按位或运算符(|):
1.运算规则:两个数的二进制数对应的位数只要有一个为1,即结果为1,两个都为0,及结果为0;
2.例子:1|0=1; 1|1=1; 0|1=1;0|0=0;
1|5也即(00 00 00 01)|(00 00 01 01)=00 00 01 01=5;所以1|5=5;
![](https://img-blog.csdnimg.cn/img_convert/7a01de964830ebf276413d921bf8b253.png)
三.按位异或运算符(^):
1.运算规则:两个数的二进制数对应的位数相同为0,不相同为1;
2.例子:1^0=1; 1^1=0; 0^0=0; 0^1=1;
1^5也即(00 00 00 01)|(00 00 01 01)=00 00 01 00=4 所以1^5=4;
![](https://img-blog.csdnimg.cn/img_convert/4b963e4e0c316ccb2a8226fd79045d6d.png)
2023.01.15
From:努力进大厂的新青年