位运算及常用操作(二进制表示)
什么是位运算
程序中的所有数在计算机中都是以二进制的形式存储的。位运算说穿了就是直接对整数在内存中的二进制位进行操作。
比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果是2,他的二进制对应位进行逻辑运算的结果(0标识false,1表示true,空位都当0处理):
110 AND 1011 -> 0010(b) -> 2(d)
由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。
常用的运算符
异或
1s:代表全是1的数
实战常用的位运算操作
第二个: 清空最低位的1,11000 -> 10000 这是一次操作。这个可以作为返回二进制中1的数量题目的关键方法
更为复杂的位运算操作