分类
Level3

位运算

位:位是数据存储的最小单位。在计算机中的二进制数系统中 ‘位’ 简记为 b, 也称为比特,每个 0 或 1 就是一个位(bit)。

位运算 就是直接对整数在内存中的二进制位进行运算。由于位运算直接对内存数据进行操作,不需要转换成十进制,因此处理速度非常快。
一、按位与 & 的计算方法 按位与 & 运算的作用:

二、按位与 | 的计算方法 按位或 | 的作用

三、按位与 ^ 的计算方法按位异或 ^ 的作用

四、按位取 ~ 的计算方法: ~ 运算的定义把内存中的 0 和 1 全部取反。比如:~0 = -1,~(-1) = 0。

五、左移 << 的计算方法: a << b 表示把 a 转为二进制后,左移 b 位(在后面添加 b 个 0),实际上就是 a 乘以 2 的 b 次方

六、右移 >> 的计算方法:a >> b 表示二进制右移 b 位(去掉末 b 位),相当于除以 2 的 b 次方(取整)负数的右移会在最高位补1,正数右移最高位补0。 想办法用 >> 代替除法运算可以使程序的效率大大提高。

七、复合运算符

八、运算符的优先级

位运算扩展应用:
二进制状态压缩
成对交换
lowbit运算