day02-002-十分重要之位运算
位运算
int a = 0011;
int b = 1100;
a&b:与
-
比较二进制位上的每个对应的数,两个数都是1,则为1,其他都为0
a&b=0000;
a|b:或
-
比较二进制位上的每个对应的数,两个数都是0,则为0,其他都是1
a|b=1111;
a^b:亦或:
-
比较二进制位上的每个对应的数,两个数相同为0,不相同则为1
a^b=1111;
~b:取反
-
0变成1,1变成0。
~b=0011;
<<
-
左移符号
-
好处?
效率高,一般用于算法当中
左一移位相当于原数*2
//在java中,怎样计算2*8是最快的? 00000010 2 00010000 16 2<<3 = 16; 用移位运算最快 -
>>
-
右移符号
跟左移符的效果是一样的,右移一位相当于原数/2

浙公网安备 33010602011771号