2的幂
如果一个数 n n n是4的倍数(幂),那么, n n n一定也会是2的幂。所以,我们可以先判断 n n n是否是2的幂,在此基础上再判断 n n n是否为4的幂。
判断 n n n是2的幂的方法见判断一个数是否为2的幂。常见的有两种:
n & ( n − 1 ) = = 0 n\&(n-1) == 0 n&(n−1)==0
和
n & ( − n ) = = n n \& (-n) == n n&(−n)==n
二进制
如果 n n n是4的倍数那么 n n n的二进制表示有且只有一个1,并且这个1出现在从低位开始的第奇数个二进制的位置上(因为这个1后面必须有偶数个0)。例如,