Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để đảo ngược các bit của một số nguyên dương?

Đầu tiên chuyển đổi số thành nhị phân bằng cách sử dụng hàm bin (). Sau đó, bỏ qua hai ký tự đầu tiên của biểu diễn nhị phân vì bin () thêm 0b làm tiền tố trong biểu diễn nhị phân của số và đảo ngược phần còn lại. Từ cũng ký tự và đảo ngược nó cho đến ký tự cuối cùng thứ hai từ trái sang. Chuyển đổi một chuỗi nhị phân đã đảo ngược thành số nguyên.

Thuật toán

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.

Mã mẫu

# 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)

đầu ra

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

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