概述:
本文主要是通过文字和实例帮助理解位运算符(&与,|或,^异或,~非,<<左移,>>右移)
内容:
& 按位与 AND
参加运算的两个对象,同时为1,结果为1,否则为0(全1才1)
0&0=0
0&1=0
1&1=1
1&0=0
| 按位或 OR
参加运算的两个对象,一个为1,结果为1(有1就1)
0|0=0
0|1=1
1|1=1
1|0=1
^ 按位异或 XOR
参加运算的两个对象,值不同为1,否则为0(不同1相同0)
0^0=0
0^1=1
1^1=0
1^0=1
~ 非、取反 NOT
~00111100 = 11000011
<< 左移 Left Shift
左边丢弃,右边补0
00111100<<2 = 11110000
>> 右移 Right Shift
符号位不变(0正1负),右边丢弃,左边补0
00001101>>2 = 00000011
实例:
十进制数A=10 B=6
转为二进制数为 A=1010 B=0110
A&B=0010
1010
0110
------
0010
A|B=1110
1010
0110
------
1110
A^B=1100
1010
0110
------
1100
~A = 0101
~B = 1001
A<<2 = 1000
B<<2 = 1000
A>>2 = 0010
B>>2 = 0001
原创不易,转载请保留本站版权。