位运算

含义 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,则为1;若有一个不为1,则为0。

00101

11100

(&;或者and)

00100

----------------

 

有一个1则为1;

相同位只要一个为1即为1。

00101

11100

(|或者or)

11101

----------------

 

不同为1,相同为0;

相同位不同则为1,相同则为0。

00101

11100

(^或者xor)

11001

----------------

 

 

 

 

 

 

你可能感兴趣的:(C,c++)