溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-16 02:16:39 來源:腳本之家 閱讀:259 作者:夙彧 欄目:編程語言

當不考慮負數時,對于此題分析可知,當輸入值小于1時,此數肯定不是2的整數次冪。

當輸入值大于一時,我們可以發現一個規律。2的整數次冪用二進制表示為:

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

二進制首位為一,其余各位均為零。

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

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

而且我們還可以發現此規律同樣適用于輸入1的情況。

那么簡潔的代碼就這樣產生了。

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的整數次冪方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女