国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

java 判斷一個數(shù)是否為2的整數(shù)次冪方法

2024-07-14 08:41:34
字體:
供稿:網(wǎng)友

當(dāng)不考慮負(fù)數(shù)時,對于此題分析可知,當(dāng)輸入值小于1時,此數(shù)肯定不是2的整數(shù)次冪。

當(dāng)輸入值大于一時,我們可以發(fā)現(xiàn)一個規(guī)律。2的整數(shù)次冪用二進(jìn)制表示為:

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

二進(jìn)制首位為一,其余各位均為零。

所以我們可以通過判斷輸入值轉(zhuǎn)換為二進(jìn)制時首位為一,其余各位為0,這樣就能保證輸入值為2的整數(shù)次冪。

但是這樣做又過于繁瑣,我們可以只判斷二進(jìn)制數(shù)中最后一次出現(xiàn)“1"的位置,使用String,lastIndexOf();方法即可。

而且我們還可以發(fā)現(xiàn)此規(guī)律同樣適用于輸入1的情況。

那么簡潔的代碼就這樣產(chǎn)生了。

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 判斷一個數(shù)是否為2的整數(shù)次冪方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到JAVA教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 渭南市| 大同县| 尖扎县| 商河县| 额尔古纳市| 嵊泗县| 皮山县| 慈溪市| 锡林郭勒盟| 买车| 河东区| 松溪县| 德安县| 余干县| 抚州市| 旌德县| 绥棱县| 沧源| 香港 | 兴业县| 慈利县| 铜梁县| 石城县| 甘洛县| 石门县| 山阳县| 大石桥市| 万山特区| 德令哈市| 白河县| 九龙县| 黄骅市| 阿巴嘎旗| 炎陵县| 铜鼓县| 马关县| 满城县| 罗定市| 纳雍县| 新乡市| 永登县|