আমরা বিভিন্ন পন্থা ব্যবহার করে পাইথনের একটি বাইনারি সংখ্যার প্রতিনিধিত্বকারী 0s এবং 1s-এর একটি তালিকাকে দশমিক সংখ্যায় রূপান্তর করতে পারি। নীচের উদাহরণগুলিতে আমরা int() পদ্ধতির পাশাপাশি বিটওয়াইজ বাম শিফট অপারেটর ব্যবহার করি।
int() ব্যবহার করা
int() পদ্ধতি দুটি আর্গুমেন্ট নেয় এবং নীচের সিনট্যাক্স অনুযায়ী ইনপুটের ভিত্তি পরিবর্তন করে।
int(x, base=10) Return an integer object constructed from a number or string x.
নীচের উদাহরণে আমরা তালিকার প্রতিটি উপাদানকে একটি স্ট্রিং হিসাবে গ্রহণ করতে int() পদ্ধতি ব্যবহার করি এবং একটি চূড়ান্ত স্ট্রিং তৈরি করতে তাদের সাথে যোগ করি যা বেস 10 এর সাথে পূর্ণসংখ্যাতে রূপান্তরিত হয়।
উদাহরণ
List = [0, 1, 0, 1, 0, 1] print ("The List is : " + str(List)) # binary list to integer conversion result = int("".join(str(i) for i in List),2) # result print ("The value is : " + str(result))
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
The List is : [1, 1, 0, 1, 0, 1] The value is : 53
Bitwise Left Shift অপারেটর ব্যবহার করা
বিটওয়াইজ বাম স্থানান্তর অপারেটর বাইনারি ফর্মে শূন্য যোগ করার পরে সংখ্যার প্রদত্ত তালিকাটিকে একটি পূর্ণসংখ্যাতে রূপান্তর করে। তারপর bitwise বা এই ফলাফল যোগ করতে ব্যবহার করা হয়. আমরা তালিকার প্রতিটি সংখ্যার মাধ্যমে পুনরাবৃত্তি করার জন্য একটি লুপ ব্যবহার করি।
উদাহরণ
List = [1, 0, 0, 1, 1, 0] print ("The values in list is : " + str(List)) # binary list to integer conversion result = 0 for digits in List: result = (result << 1) | digits # result print ("The value is : " + str(result))
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
The values in list is : [1, 0, 0, 1, 1, 0] The value is : 38