文章目录
  1. 1. Power Of 4

Power Of 4


问题是判断一个数是否为4的幂。我的方法是循环通过左移来判断,最后一位是否为0,当数变为1且最后一位是1的话,就是4的幂。

在查看评论的时候,发现了一个好的方法,首先我们判断一个数是否为2的幂可以用(x-1)&x == 0来判断,因为2的幂都是其中一位为1,其他都为0,比如00000100000,那么它的-1就是00000011111,两者按位与是0。

先判断一个数是否为2的幂,那么再判断数的1是否出现在奇数位,可以对01010101010101010101010101010101 (0x55555555)进行按位与,如果不为0,就是4的幂。

文章目录
  1. 1. Power Of 4