记录一下看到过几次但是总会遗忘的知识点。
&是位运算。
在计算机里是只认识二进制的,我们人类用的一般是十进制,而二进制有个特点就是每一位上要么是0要么是1,还有一个特点是如果哪个位置是1,那一位的值就是2n【这个符号表示次方】,n就是这个1所处的位。举个例子,比如二进制“11”,它有两位,那么类比十进制“个十百千”的规律,这里的个位1(也就是最右边的1)它的值是2^0 =1,它的十位就是2^1=2,所以它的总数为2+1=3。这就是二进制的计算规则。了解了这个规则之后,你可能会发现,2的n次方(n>0)肯定是偶数,只有在第0位为1时才会是奇数。
那么如何才能知道一个数的第0位为1呢?答案就是按位与,也就是“&”这个操作符,按位与就是把两个二进制数按照“1和1与为1,1和0与为0”输出结果,比如两个二进制数“11”(即十进制3)和“01”(即十进制1)按位与,结果为“01”也就是十进制1。