91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何使用java找出不小于x的2的n次方的最小值

發布時間:2022-01-17 14:26:40 來源:億速云 閱讀:154 作者:清風 欄目:大數據

這篇“如何使用java找出不小于x的2的n次方的最小值”除了程序員外大部分人都不太理解,今天小編為了讓大家更加理解“如何使用java找出不小于x的2的n次方的最小值”,給大家總結了以下內容,具有一定借鑒價值,內容詳細步驟清晰,細節處理妥當,希望大家通過這篇文章有所收獲,下面讓我們一起來看看具體內容吧。

找出不小于x的2的n次方的最小值

注:這題比較繞,先舉個例子,如果x是5,我們就返回8,因為8是大于5且最小的2的冪次方,如果x是9就返回16,因為16是大于9且最小的2的冪次方,如果x是16就返回16,因為16是2的冪次方。同理如果x是33就返回64.

答案:

1public static int highestOneBit(int i) {
2    i--;
3    i |= i >>> 1;
4    i |= i >>> 2;
5    i |= i >>> 4;
6    i |= i >>> 8;
7    i |= i >>> 16;
8    return i + 1;
9}

解析:

這題也很容易理解,因為int類型在java語言中是32位的,這里的或運算相當于把int中左邊的1往右邊鋪開,最終會變成一個左邊全部是0,右邊全部是1的二進制數,然后再加上1就是我們要查找的值,這里為什么要先減去1,這是因為如果一個數正好是2的冪次方,如果不先減去1,那么最終結果將會放大2倍,舉個例子,當i是32的時候,如果不先減去1,最終結果就會是64。我們還可以在換種解法

1public static int highestOneBit(int i) {
2    i |= (i >>  1);
3    i |= (i >>  2);
4    i |= (i >>  4);
5    i |= (i >>  8);
6    i |= (i >> 16);
7    return i - (i >>> 1);
8}

這里剛開始計算的時候沒有減去1,但最后會執行i-(i>>>1),結果也都是一樣的,比如當i等于32的時候,或運算結束之后i的值是64,當執行i-(i>>>1)的時候,又變為32.

Java的特點有哪些

Java的特點有哪些 1.Java語言作為靜態面向對象編程語言的代表,實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。 2.Java具有簡單性、面向對象、分布式、安全性、平臺獨立與可移植性、動態性等特點。 3.使用Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。

感謝您的閱讀,希望您對“如何使用java找出不小于x的2的n次方的最小值”這一關鍵問題有了一定的理解,具體使用情況還需要大家自己動手實驗使用過才能領會,快去試試吧,如果想閱讀更多相關知識點的文章,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

富平县| 两当县| 兰州市| 伊吾县| 乌鲁木齐县| 泸州市| 临武县| 南平市| 定襄县| 云南省| 乌审旗| 昂仁县| 德安县| 武定县| 方正县| 屏山县| 巴林左旗| 五莲县| 丰都县| 高清| 上虞市| 瑞昌市| 怀化市| 仙桃市| 贵溪市| 都江堰市| 天水市| 沿河| 青海省| 霍城县| 加查县| 沁阳市| 苍南县| 昌吉市| 珠海市| 集贤县| 贡嘎县| 徐汇区| 聂拉木县| 晋江市| 靖远县|