位运算

含义    Pascal语言     C语言    Java
按位与    a and b        a & b    a & b
按位或    a or b        a | b        a | b
按位异或    a xor b    a ^ b     a ^ b
按位取反    not a        ~a       ~a
左移          a shl b    a << b    a << b
带符号右移    a shr b    a >> b    a >> b
无符号右移    /    /    a>>> b
//////////////////////////////////////////////////////////////
&与:相同位的两个数字都为1,则为1;若有一个不为1,则为0。
00101
11100
(&;或者and)
----------------
00100
//////////////////////////////////////////////////////////////
|或:相同位只要一个为1即为1。
00101
11100
(|或者or)
----------------
11101
//////////////////////////////////////////////////////////////
^异或:相同位相同为0,不同为1。
00101
11100
(^或者xor)
----------------
11001
//////////////////////////////////////////////////////////////
左移,右移多出的那一位为0
//////////////////////////////////////////////////////////////
优先级:
C语言中位运算符之间,按优先级顺序排列为
1   ~
2   <<、>>
3   &
4   ^
5   |
6   &=、^=、|=、<<=、>>=

////////////////////////////////////////////////////

简单操作:

位运算_第1张图片

你可能感兴趣的:(位运算)