1.什么是位运算?
顾名思义对比特位进行操作,其中1个字节=8bit,Bit是粒度最小的可执行操作单元。
2.按位与(&)
Bit只有0和1两个取值,运算规则如下:
&1 = 1; 1&0 = 0; 0&1 = 0;0&0 = 0;有没有发现上述运算与逻辑运算符(&&)十分相似。
由于数据在内存最终都是以二进制的形式存储,&就是对这些内存中二进制位进行运算。
3.运算举例
我们可以打开电脑上的计算器,切换到程序员选项。其中黄色箭头指向的是我们今天所学的按位与(&)运算符。
我们可以计算1 & 6 的值,先转换为二进制数。
1的二进制数为0000 0000 0000 0000 0000 0000 0000 0001
6的二进制数为0000 0000 0000 0000 0000 0000 0000 0110
这样我们就可以计算1 & 6的数值为
0000 0000 0000 0000 0000 0000 0000 0000
可以看见计算器更加方便,更快计算出所需运算的数值。
可以看见计算器中得到的数值,将二进制转换为十进制数也是0,所以得到结果1 & 6 = 0.