天天看点

判断是否为2/4的幂

一个数 n 是 2 的幂,当且仅当 n 是正整数,并且 n的二进制表示中仅包含 1 个 1。

n>0 and n&(n-1)==0
           

一个数 n 是 4 的幂,当且仅当 n 是正整数,并且 n的二进制表示中仅包含 1 个 1,且1位于偶数位。

n>0 and n&(n-1)==0 and (n&0xaaaaaaaa)==0