Python 程式如何反轉一個正整數的二進位制位?


首先使用 bin() 函式將數字轉換為二進位制。然後跳過二進位制表示的前兩個字元,因為 bin() 會將一個數字的二進位制表示中作為字首新增 0b,並反轉剩餘部分。同時從右向左從倒數第二個字元開始逐個字元進行反轉。將反轉後的二進位制字串轉換為整數。

演算法

integernumber(n,bit_size)
/* n is the number and bit_size is the bitsize  */
Step 1: first convert number into binary .
Step 2: skip the first two characters of binary representation string and reverse.
Step 3: remaining string and then append 0’s after it.
Step 4: from the last character and reverse it until second last character from the left.
Step 5: converts reversed binary string into an integer.

示例程式碼

# Python Program reverse bits of positive integer number
defintegernumber(n,bit_size):
   bin_number = bin(n)
   reverse_number = bin_number[-1:1:-1]
   reverse_number = reverse_number + (bit_size - len(reverse_number))*'0'
   print ("Reverse Bits ::>",int(reverse_number,2))
# Driver program
if __name__ == "__main__":
   n = int(input("Enter Number ::>"))
   bit_size = int(input("Enter Bit Size ::>")) 
   integernumber(n,bit_size)

輸出

Enter Number ::>1
Enter Bit Size ::>32
Reverse Bits ::> 2147483648

Enter Number ::>2147483648
Enter Bit Size ::>32
Reverse Bits ::> 1

更新時間:2019 年 7 月 30 日

2K+ 瀏覽量

開始你的 職業生涯

完成課程並獲得認證

開始
廣告