給定一個非負整數 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) 內部
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中文網其他相關文章!