কম্পিউটার টিউটোরিয়াল

পাইথনে বাইনারি লিস্টকে ইন্টিজারে রূপান্তর


আমরা ০ এবং ১-এর একটি লিস্ট যা একটি বাইনারি নম্বর রিপ্রেজেন্ট করে, তাকে পাইথনে দশমিক নম্বরে রূপান্তর করতে পারি বিভিন্ন অ্যাপ্রোচে। নিচের উদাহরণগুলোতে আমরা int() মেথড এবং বিটওয়াইজ লেফট শিফট অপারেটর ব্যবহার করেছি।

int() ব্যবহার

int() মেথড দুটি আর্গুমেন্ট নেয় এবং ইনপুটের বেস নিচের সিনট্যাক্স অনুযায়ী চেঞ্জ করে।

int(x, base=10) Return an integer object constructed from a number or string x.

নিচের উদাহরণে আমরা int() মেথড ব্যবহার করি লিস্টের প্রতিটি এলিমেন্টকে স্ট্রিং হিসেবে নিয়ে সেগুলো জয়েন করে একটি ফাইনাল স্ট্রিং বানাই যা ইন্টিজারে কনভার্ট হয় বেস ১০-এ।

উদাহরণ

List = [0, 1, 0, 1, 0, 1]
print("The List is : " + str(List))
# বাইনারি লিস্ট টু ইন্টিজার কনভার্সন
result = int("".join(str(i) for i in List), 2)
# রেজাল্ট
print("The value is : " + str(result))

উপরের কোড রান করলে নিচের ফলাফল পাওয়া যায়:

The List is : [1, 1, 0, 1, 0, 1]
The value is : 53

বিটওয়াইজ লেফট শিফট অপারেটর ব্যবহার

বিটওয়াইজ লেফট শিফট অপারেটর দেয়া লিস্টের ডিজিটগুলোকে ইন্টিজারে কনভার্ট করে বাইনারি ফরমে দুটি জিরো যোগ করার পর। তারপর বিটওয়াইজ OR ব্যবহার করে এই রেজাল্টে যোগ করা হয়। আমরা একটি ফর লুপ ব্যবহার করি লিস্টের প্রতিটি ডিজিটের মাধ্যমে ইটারেট করার জন্য।

উদাহরণ

List = [1, 0, 0, 1, 1, 0]
print("The values in list is : " + str(List))
# বাইনারি লিস্ট টু ইন্টিজার কনভার্সন
result = 0
for digits in List:
    result = (result << 1) | digits
# রেজাল্ট
print("The value is : " + str(result))

উপরের কোড রান করলে নিচের ফলাফল পাওয়া যায়:

The values in list is : [1, 0, 0, 1, 1, 0]
The value is : 38
  1. পাইথনে ডেসিমেল থেকে বাইনারি লিস্ট কনভার্ট করুন

  2. পাইথনে দেওয়া সূচকের তালিকা থেকে সব উপাদান অ্যাক্সেস করা

  3. পাইথনে রোমান টু ইন্টিজার (Roman to Integer)

  4. পাইথনে bin() ফাংশন