位運算符:
參考:https://blog.csdn.net/weixin_42216574/article/details/82885102
&:按位與
按位與操作 0&0=0; 0&1=0; 1&0=0; 1&1=1
10&9: 0000 1010 & 0000 1001 = 0000 1000 = 8
|:按位或
運算規則:0|0=0; 0|1=1; 1|0=1; 1|1=1;
0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7
^:按位異或
運算規則:0^0=0; 0^1=1; 1^0=1; 1^1=0;
~:按位取反
運算規則:~1=0; ~0=1;
<<:左移動:
a = a << 2 將a的二進制位左移2位,右補0,
‘>>:右移動:
例如,下面的代碼被求值後,temp 的值是 -4:
var temp = -14 >> 2
-14 (即二進制的 11110010)右移兩位等於 -4 (即二進制的 11111100)。
位運算符都是把數字當作二進制數進行運算並不是只能做二進制數計算,如果是其他進制會自動轉換成二進制數