Android 位运算左移、右移、与(&)、非(~)、或(|)、异或(^)

  • 左移

例:10 << 4 

表示 :10左移4位,10的二进制:1010;左移:1010 0000;(移多少位,加多少0),二进制1010 0000的十进制为:160,即:10 << 4 = 160;

  • 右移

例:10 >> 3

表示 :10左移4位,10的二进制:1010;右移:0001 ;二进制0001的十进制为:1,即:10 << 3 = 1;

  • 与(&)  (串联电路,2个开关合上才通电,2个为1,才为1,否则为0)

都为的1,结果才为1,否则结果为0

例:100&20;

即:1100100 & 10100

1100100

0010100

0000100 它的10进制为:4

100&20=4

  • |或运算 (并联电路,2个开关任一一个合上就通电,1个为则为1,否则为0)

只要有一个1,那结果就是1,否则就为0

例:100|20;

即:1100100 | 10100

1100100

0010100

1110100 它的10进制为:116

  • ~非运算

如果位为0,结果是1,如果位为1,结果是0

  • ^异或运算符

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

例:100^20;

即:1100100 ^10100

1100100

0010100

1110000  它的10进制为:112

97 ^ ( 97 >>> 16

116379147 ^ ( 116379147 >>> 16 )

猜你喜欢

转载自blog.csdn.net/jian11058/article/details/123001792