基本数据结构第一篇——位运算
在所有现代cpu中都是以二进制方式表示数据,所以使用位掩码来计算的优点
1、更快的执行速度、
2、更简洁的代码、
3、更少的占用内存量
4、用数组代替关联数组
首先是按位与
按位与(&)
对两个数进行操作,然后返回一个新的数,这个数的每个位都需要两个输入数的同一位都为1时才为1,如上图:
(A & B) 结果为 12, 二进制为 0000 1100
然后是按位或
按位或(|)
比较两个数,然后返回一个新的数,这个数的每一位设置1的条件是两个输入数的同一位都不为0(即任意一个为1,或都为1),如上图:
(A | B) 结果为 61, 二进制为 0011 1101
按位异或(^)
比较两个数,然后返回一个数,这个数的每个位设为1的条件是两个输入数的同一位不同,如果相同就设为0,如下图:
(A ^ B) 结果为 49, 二进制为 0011 0001
在按位异或中我们可以对应位置 相加如1+0=1 1+1=2二进制进一位则为0;
然后左移(<<)一位表示原先的数字*2 (多出来一位补零).
右移一位(>>)表示原先的数字除以2
加油加油加油