在日常开发中真的而很少用到位运算符了 ,偶尔在一边博文里面看到了一个位运算符 ^ 的妙用,惊叹于它的神奇,特此学习了一下,记录此文。
位运算符的种类
分为以下种类:
&
按位与 :1
2
3
4
5100101
001011
_______
000001
# 都是 1 才等于 1|
按位或1
2
3
4
5100101
001011
_______
101111
# 至少有一个是 1 就等于 1^
按位异或1
2
3
4
5100101
001011
_______
101110
# 只有一个 1 才等于 1~
按位非
对一个二进制所有为取反 , 在+1 在转成10进制
效果相当于 取负数在-11
~21 = -22;
>>
按位右移1
2
3
4
5
6
7
8
9
10
11
12// 就是字面意思的将 有效位往右边移动 n 位
22 >> 1
//22 ===> 10110
// 移动一位 ===> 1011
// 11
22>>3
/** 22 === > 10110
* 右移动3位 10
* 2
*/<<
按位左移
与右移同理, 用 0 补位
位运算符的妙用
见下篇
end