题目:解释代码(n&(n-1))==0的具体含义
1)(A&B)==0的含义
A和B的二进制表示的同一位置绝不会同为1。
2)n和n-1
若n的最低有效位为1,减去1后为0,其余为均相同,不符合要求。n的最低有效位为0,减去1时,必须向高位借1。
3)(n&(n-1))==0的含义
n的最高有效位为1,其余位为0。因此,n的值是2的某次方。
所以,(n&(n-1))==0检查n是否为2的某次方(或者检查n是否为0
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-10 16:49:15