ধরুন আমাদের দশমিক সংখ্যা পদ্ধতিতে একটি সংখ্যা আছে। আমাদের বাইনারি আকারে সংখ্যাটির পরিপূরক পেতে হবে, তারপর আবার এটি দশমিকে পরিবর্তন করে ফলাফলটি ফেরত দিতে হবে। সুতরাং সংখ্যাটি যদি 20 হয়, তাহলে বাইনারি ফর্মটি হবে 10100, পরিপূরকটি 01011 হবে, এটি দশমিকে 11 হবে
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- s :=n সংখ্যার বাইনারি স্ট্রিং
- সমষ্টি :=0 এবং সংখ্যা :=1
- প্রতিটি উপাদানের জন্য i s বিপরীত দিকে
- যদি i ='b', তাহলে যোগফল ফেরত দিন
- অন্যথায় যখন i =‘0’, তারপর sum :=sum + num
- সংখ্যা :=সংখ্যা * 2
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
class Solution(object): def bitwiseComplement(self, N): s = str(bin(N)) sum = 0 num = 1 for i in s[::-1]: if i == "b": return sum elif i =="0": sum+=num num*=2 ob1 = Solution() print(ob1.bitwiseComplement(20))
ইনপুট
20
আউটপুট
11