按位与运算简单说就是比较两个数的每一位是不是为真。
通俗点说就是将两个数展开成两个二进制数然后每一位对应按位进行比较,如果对应位都为1则结果位就是1,如果有一个为0就是0。举个例子:
9&5 转化成二进制数为 1001 & 0101
计算过程如下:
1001
& 0101
————
0001
结果为0001就是1.首先9转成二进制数为1001,5转成二进制数为0101。1001的从第一位到第四位为1,0,0,1.0101的从第一位到第四位为0,1,0,1.将0101的第四位1与1001的第四位1进行按位与运算也就是1 & 1结果为1,因为按位与运算就是看两边的结果,都为1则是1,有一个是0就是0.所以1001和0101这两个数的其他位数比较都是0&1或者1&0,有一个0,因此其他位数的结果都为0.(将要进行按位与运算的两个数转成对应的二进制数再算就好理解了) |