এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।
সমস্যা: একটি হেক্সাডেসিমেল স্ট্রিং দেওয়া আছে, এটি এর দশমিক সমতুল্যে রূপান্তর করতে হবে।
এই সমস্যাটি সমাধানের দুটি পদ্ধতি আছে:
- ব্রুট-ফোর্স পদ্ধতি
- বিল্ট-ইন মডিউল ব্যবহার
ব্রুট-ফোর্স পদ্ধতি
এখানে আমরা স্পষ্ট টাইপ কাস্টিং ফাংশন int() এর সাহায্য নেব। এই ফাংশন দুটি আর্গুমেন্ট নেয়: হেক্সাডেসিমেল সমতুল্য এবং বেস (১৬)। এটি একটি হেক্সাডেসিমেল স্ট্রিংকে এর সমতুল্য দশমিক পূর্ণসংখ্যায় রূপান্তর করে, যা পরে আবার স্ট্রিং ফরম্যাটে টাইপকাস্ট করা যায়।
উদাহরণ
# ইনপুট স্ট্রিং
string = 'F'
# হেক্সাডেসিমেল স্ট্রিংকে দশমিকে রূপান্তর
res = int(string, 16)
# ফলাফল প্রিন্ট
print("The decimal number associated with hexadecimal string is : " + str(res))
আউটপুট
The decimal number associated with hexadecimal string is: 15

বিল্ট-ইন "ast" মডিউল ব্যবহার
এখানে আমরা ast মডিউলের literal_eval ফাংশন ব্যবহার করি, যা দেওয়া হেক্সাডেসিমেলের বেস অনুমান করে তারপর দশমিকে রূপান্তর করে। এখানে লিটারেল ইভ্যালুয়েশনের ধারণা ব্যবহার করা হয়েছে।
উদাহরণ
# বিল্ট-ইন মডিউল literal_eval ব্যবহার
from ast import literal_eval
# স্ট্রিং আরম্ভ করা
test_string = '0xF'
# হেক্সাডেসিমেল স্ট্রিংকে দশমিকে রূপান্তর
res = literal_eval(test_string)
# ফলাফল প্রিন্ট
print("The decimal number of the hexadecimal string is : " + str(res))
আউটপুট
The decimal number of the hexadecimal string is: 15

সभी ভেরিয়েবল লোকাল স্কোপে ঘোষণা করা হয়েছে এবং তাদের রেফারেন্স উপরের চিত্রে দেখা যাচ্ছে।
উপসংহার
এই আর্টিকেলে আমরা দেয়া হেক্স স্ট্রিংকে দশমিক সমতুল্যে রূপান্তর করার বিষয়ে শিখেছি।