প্রথমে সংখ্যাকে bin() ফাংশন দিয়ে বাইনারি রূপান্তর করুন। তারপর বাইনারি রিপ্রেজেন্টেশনের প্রথম দুটি ক্যারেক্টার বাদ দিন কারণ bin() বাইনারি রিপ্রেজেন্টেশনে '0b' প্রিফিক্স যোগ করে। বাকি অংশটি উল্টিয়ে দিন। চূড়ান্ত ক্যারেক্টার থেকে শুরু করে বাম দিকের দ্বিতীয় চূড়ান্ত ক্যারেক্টার পর্যন্ত উল্টিয়ে দিন। উল্টা বাইনারি স্ট্রিংকে ইন্টিজারে রূপান্তর করুন।
অ্যালগরিদম
integernumber(n, bit_size) /* n হলো সংখ্যা, bit_size হলো বিট সাইজ */ ধাপ ১: সংখ্যাকে বাইনারি রূপান্তর করুন। ধাপ ২: বাইনারি রিপ্রেজেন্টেশন স্ট্রিংয়ের প্রথম দুটি ক্যারেক্টার বাদ দিয়ে উল্টিয়ে দিন। ধাপ ৩: বাকি স্ট্রিংয়ে ০ যোগ করুন। ধাপ ৪: চূড়ান্ত ক্যারেক্টার থেকে বাম দিকের দ্বিতীয় চূড়ান্ত ক্যারেক্টার পর্যন্ত উল্টিয়ে দিন। ধাপ ৫: উল্টা বাইনারি স্ট্রিংকে ইন্টিজারে রূপান্তর করুন।
উদাহরণ কোড
# পাইথন প্রোগ্রাম: ধনাত্মক পূর্ণসংখ্যার বিট উল্টে ফেলা
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