最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2018年07月14日 09:47:22   作者:夙彧  
今天小編就為大家分享一篇java 判斷一個(gè)數(shù)是否為2的整數(shù)次冪方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

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

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

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

所以我們可以通過判斷輸入值轉(zhuǎn)換為二進(jìn)制時(shí)首位為一,其余各位為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 判斷一個(gè)數(shù)是否為2的整數(shù)次冪方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

扶绥县| 富宁县| 宜兰县| 富宁县| 高雄市| 晋宁县| 泸水县| 藁城市| 中方县| 镇赉县| 泸西县| 昭平县| 历史| 略阳县| 花莲县| 栖霞市| 科技| 久治县| 苍山县| 泸州市| 乌鲁木齐县| 新沂市| 霍林郭勒市| 沂南县| 沙坪坝区| 舞阳县| 宁阳县| 花莲市| 城市| 普安县| 红桥区| 富宁县| 大庆市| 上高县| 抚顺县| 峨边| 班戈县| 桂阳县| SHOW| 苍南县| 莱芜市|