java 判断一个数是否为2的整数次幂方法

网友投稿 230 2023-01-25


java 判断一个数是否为2的整数次幂方法

当不考虑负数时,对于此题分析可知,当输入值小于1时,此数肯定不是2的整数次幂。

当输入值大wcvTdTkiPJ于一时,我们可以发现一个规律。2的整数次幂用二进制表示为:

2d = 10b;  4d = 100b; 8d = 1000b

二进制首位为一,其余各位均为零。

所以我们可以通过判断输入值转换为二进制时首位为一,其余各位为0,这样就能保证输入值为2的整数次幂。

但是这样做又过于繁琐,我们可以只判断二进制数中最后一次出现“1"的位置,使用String,lastIndexOf();方法即可。

而且我们还可以发现此规律同样适用于输入1的情况。

那么简洁的代码就这样产生了。

public static boolean isPowerOfTwwcvTdTkiPJo(int n) {

String str = Integer.toBinaryString(n);

if(n < 1)

return false;

else if(str.lastIndexOf("1") == 0)

return true;

else

return false;

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一台电脑想连接共享文件夹(其他电脑如何连接共享文件夹)
下一篇:java 文件上传到读取文件内容的实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~