位运算:
与:&
或:!
异或:^
取反:~
移位:<<,>>
与运算:&
假设数字3和6
二进制下3则为011
二进制下6则为110
则(011)&(110)则为010
通过以上例子,我直接给出结论:
0&0=0
0&1=0
1&0=0
1&1=1
则都为真(1)时候结果才为真(1)
或运算:|
a|b=c
直接给出结论:
0|0=0
0|1=1
1|0=1
1|1=1
则只需一个为真结果才为真
如3|6=7
非运算:!
!1=0
!0=1
这个好理解
只能用于真假的判断
!3=false=0
异或运算:^
a^b=c
0^0=0
0^1=1
1^0=1
1^1=0
单1单0结果才为1
3^6=5(101)
取反:~
把一个数二进制的每一位都取反
010
变成101
比如~1=0
~0=1
~3=4(100)
~4=3(011)
左移:<<
把一个十进制的二进制形式往左移动多少位
如:3(00000011)<<1=6(0000110)高位的溢出
右移:>>
同理左移
000011右移一位为000110