gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 34 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章java 判断一个数是否为2的整数次幂方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

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

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

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

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

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

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

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

?
1
2
3
4
5
6
7
8
9
public static boolean ispoweroftwo( int n) {
         string str = integer.tobinarystring(n);
         if (n < 1 )
             return false ;
         else if (str.lastindexof( "1" ) == 0 )
             return true ;
         else
             return false ;
   }

以上这篇java 判断一个数是否为2的整数次幂方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/m0_38044247/article/details/71150587 。

最后此篇关于java 判断一个数是否为2的整数次幂方法的文章就讲到这里了,如果你想了解更多关于java 判断一个数是否为2的整数次幂方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com