首頁 > Java > java教程 > 主體

在Java中反轉給定數字的實際位

PHPz
發布: 2023-09-07 23:41:06
轉載
1156 人瀏覽過

在Java中反轉給定數字的實際位

給定一個非負整數 n。目標是反轉 n 的位,並報告結果數字。在反轉位時,使用整數的實際二進位形式;不考慮前導 0。

讓我們來看看各種輸入輸出狀況

##輸入 − 13

輸出 − 反轉給定數字11的實際位元

(13)<sub>10</sub> = (1101)<sub>2</sub>.
After reversing the bits, we get:
(1011)<sub>2</sub> = (11)<sub>10</sub>.
登入後複製

Explanation − 從輸入的數字中取得二進位位,然後將其反轉,並最終轉換為十進位格式,作為輸出傳回。

Input − 18

Output − 反轉給定數字9的實際位元。

(18)<sub>10</sub> = (10010)<sub>2</sub>.
After reversing the bits, we get:
(1001)<sub>2</sub> = (9)<sub>10</sub>.
登入後複製

Explanation − 二進位位元從輸入數字中獲取,然後被反轉並最終轉換為十進位格式,作為輸出傳回。

下面程式中使用的方法如下

  • 在主方法內部

    • 輸入數字並傳遞給方法

      reverseBinaryBits(int input)

  • #在方法

    reverseBinaryBits(int input) 內部

    • #初始化變數rev_input 以儲存反轉的位元

    • 循環迭代,直到輸入大於0(我們從右邊開始遍歷)

      • 使用位右移操作來逐位檢索n的二進位表示中的每一位,並使用位元左移操作來累積它們到rev 中

範例

class TutorialsPoint{
   public static int reverseBinaryBits(int input){
      int rev_input = 0;
      while (input > 0){
         rev_input <<= 1;
         if ((int) (input & 1) == 1){
            rev_input ^= 1;
         }
         input >>= 1;
      }
      return rev_input;
   }
   public static void main(String[] args){
      int input = 13;
      System.out.println("Reverse actual bits of the given number");
      System.out.println(reverseBinaryBits(input));
   }
}
登入後複製

輸出

如果我們執行上面的程式碼,它將產生以下輸出

Reverse actual bits of the given number
11
登入後複製

以上是在Java中反轉給定數字的實際位的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!