昨天去面试时,面试官问了一道面试题,说如何判断一个数是不是2的n次方幂,我当时不知道2的n次方幂是什么(糗大发了),还好给我解释了一下。最后回家上网查查资料,整理了一下方法。
方法一
如何判断一个数是否是2的n次方幂,其简单判断方法就是这个数num直接除2,若余数为0,则num/2再除2,再判断是不是余数是不是0,是的话继续按上一步来,直到最后为num=1。
比如:
2 2%2=0 (2/2)=1 是
4 4%2=0 (4/2)%2=0 (4/2/2)=1 是
6 6%2=0 (6/2)%2=1 不是
7 7%2