按位与:’&‘
例:3&2
第一步:看作将十进制的3和2进行二进制的转化
我们都知道这个2和3在十进制时在(int)类型在电脑中储存时以二进制进行储存,一个(int)类型的变量占了4个比特位,一个比特位是8个字节,一个(int)类型一共占了32个字节每个一个字节有两种0或1
int q=0;转化为电脑中储存的二进制为00000000000000000000000000000000
int w=1;转化为电脑中储存的二进制为00000000000000000000000000000001
int w=2;转化为电脑中储存的二进制为00000000000000000000000000000010
int w=3;转化为电脑中储存的二进制为00000000000000000000000000000011
int w=4;转化为电脑中储存的二进制为00000000000000000000000000000100
流程:
以二进制进行操作,对于上下2个数的二进制的每个字节进行比较:
如果上下2个都是0的话就是0
如果2个其中有一个是1的话是0
如果2个都是1的话才是1
例1. 3&2=2
3: 00000000000000000000000000000011
2: 00000000000000000000000000000010
3&2 : 00000000000000000000000000000010
例2. 3&4=0
3: 00000000000000000000000000000011
4: 00000000000000000000000000000100
3&4 : 00000000000000000000000000000000
同理
按位或:‘|’
‘|’ 有1及是1
例1. 3|2=3
3: 00000000000000000000000000000011
2: 00000000000000000000000000000010
3|2 : 00000000000000000000000000000011
例2. 3|4=7
3: 00000000000000000000000000000011
4: 00000000000000000000000000000100
3|4 : 00000000000000000000000000000111
同理
按位异或:‘^’
‘^’相同为0其余为1
例1. 3^2=1
3: 00000000000000000000000000000011
2: 00000000000000000000000000000010
3&2 : 00000000000000000000000000000001
例2. 3^4=7
3: 00000000000000000000000000000011
4: 00000000000000000000000000000100
3^4 : 00000000000000000000000000000111