判断是否为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
posted @ 2021-05-31 09:05  鱼与鱼  阅读(74)  评论(0编辑  收藏  举报