समस्या विवरण
सबसे पहले bin() फंक्शन का उपयोग करके संख्या को बाइनरी में बदलें। फिर बाइनरी प्रतिनिधित्व के पहले दो वर्ण छोड़ें क्योंकि bin() बाइनरी प्रतिनिधित्व में '0b' प्रीफिक्स जोड़ता है और शेष भाग को उल्टा करें। फिर वर्ण से उल्टा करें जब तक बाएं से दूसरा अंतिम वर्ण न हो। उल्टे बाइनरी स्ट्रिंग को पूर्णांक में बदलें।
एल्गोरिदम
- सबसे पहले संख्या को बाइनरी में बदलें।
- बाइनरी प्रतिनिधित्व स्ट्रिंग के पहले दो वर्ण छोड़ें और उल्टा करें।
- शेष स्ट्रिंग लें और उसके बाद 0 जोड़ें।
- अंतिम वर्ण से उल्टा करें जब तक बाएं से दूसरा अंतिम वर्ण न हो।
- उल्टे बाइनरी स्ट्रिंग को पूर्णांक में बदलें।
उदाहरण कोड
# धनात्मक पूर्णांक संख्या के बिट्स उल्टा करें
def integernumber(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("उल्टे बिट्स ::>", int(reverse_number, 2))
# ड्राइवर प्रोग्राम
if __name__ == "__main__":
n = int(input("संख्या दर्ज करें ::>"))
bit_size = int(input("बिट आकार दर्ज करें ::>"))
integernumber(n, bit_size)
आउटपुट
संख्या दर्ज करें ::>1
बिट आकार दर्ज करें ::>32
उल्टे बिट्स ::> 2147483648
संख्या दर्ज करें ::>2147483648
बिट आकार दर्ज करें ::>32
उल्टे बिट्स ::> 1