Python Tutorial 9: Integer Literals in Bengali
পাইথনে সংখ্যার অন্য রূপ: Binary, Octal, ও Hexadecimal Literals
আমরা প্রতিদিন যে সংখ্যা ব্যবহার করি (যেমন: ১০, ২৫, ৫০০), সেগুলো ডেসিমেল (Decimal) বা দশ-ভিত্তিক সংখ্যা পদ্ধতি। এই পদ্ধতিতে ০ থেকে ৯ পর্যন্ত মোট দশটি অঙ্ক ব্যবহার করা হয়। কিন্তু আপনি কি জানেন, কম্পিউটার এই সংখ্যাগুলোকে সরাসরি বোঝে না? কম্পিউটারের নিজস্ব ভাষা হলো বাইনারি (Binary), যা শুধুমাত্র ০ এবং ১ দিয়ে গঠিত।
মজার ব্যাপার হলো, পাইথন আমাদের শুধুমাত্র ডেসিমেল নয়, বরং কম্পিউটারের বোধগম্য অন্যান্য সংখ্যা পদ্ধতিতেও সরাসরি সংখ্যা বা লিটারেল (Literal) লেখার সুযোগ করে দেয়। আজকের পোস্টে আমরা Integer Literals-এর এই ভিন্ন রূপগুলো—Binary, Octal, এবং Hexadecimal—সম্পর্কে জানব।
বিশেষ দ্রষ্টব্য: এই টপিকটি যদি আপনার কাছে নতুন বা কঠিন মনে হয়, তবে চিন্তার কিছু নেই। দৈনন্দিন প্রোগ্রামিং-এ এর ব্যবহার খুব বেশি না হলেও, একজন দক্ষ প্রোগ্রামার হিসেবে এর ধারণা থাকা অত্যন্ত জরুরি।
সংখ্যা পদ্ধতির সংক্ষিপ্ত পরিচিতি
পাইথনে কোড লেখার আগে, চলুন সংক্ষেপে এই পদ্ধতিগুলো সম্পর্কে জেনে নিই:
- Decimal (Base-10): আমাদের ব্যবহৃত স্বাভাবিক সংখ্যা পদ্ধতি। অঙ্ক:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
। - Binary (Base-2): কম্পিউটারের মূল ভাষা। অঙ্ক:
0, 1
। - Octal (Base-8): আট-ভিত্তিক পদ্ধতি। অঙ্ক:
0, 1, 2, 3, 4, 5, 6, 7
। - Hexadecimal (Base-16): ষোল-ভিত্তিক পদ্ধতি। অঙ্ক:
0-9
এবং অক্ষরA, B, C, D, E, F
।
পাইথনে বিভিন্ন Integer Literals লেখার নিয়ম
পাইথনে কোনো সংখ্যা লেখার সময়, আমরা একটি বিশেষ উপসর্গ বা Prefix ব্যবহার করে বলে দিতে পারি যে সংখ্যাটি কোন পদ্ধতিতে লেখা। চলুন, ডেসিমেল সংখ্যা 20
-কে উদাহরণ হিসেবে নিয়ে প্রতিটি পদ্ধতিতে কীভাবে লিখতে হয় তা দেখি।
- Decimal Literal (সাধারণ):
dec_val = 20
- Binary Literal (বাইনারি):
bin_val = 0b10100
(উপসর্গ:0b
) - Octal Literal (অক্টাল):
oct_val = 0o24
(উপসর্গ:0o
) - Hexadecimal Literal (হেক্সাডেসিমেল):
hex_val = 0x14
(উপসর্গ:0x
)
সব পথ এসে মেশে দশমিকে!
সবচেয়ে মজার বিষয় হলো, আপনি যে পদ্ধতিতেই সংখ্যা লিখুন না কেন, পাইথন যখন এটিকে প্রক্রিয়াকরণ করে, তখন সেটিকে তার ডেসিমেল বা দশ-ভিত্তিক মানে রূপান্তর করে নেয়। আসুন, এটি কোডের মাধ্যমে পরীক্ষা করি:
# ডেসিমেল সংখ্যা 20-কে বিভিন্ন number system-এ লেখা
dec_val = 20
bin_val = 0b10100 # Binary
oct_val = 0o24 # Octal
hex_val = 0x14 # Hexadecimal
print(f"Decimal Literal: {dec_val}")
print(f"Binary Literal (0b10100) এর মান: {bin_val}")
print(f"Octal Literal (0o24) এর মান: {oct_val}")
print(f"Hexadecimal Literal (0x14) এর মান: {hex_val}")
আউটপুট:
Decimal Literal: 20
Binary Literal (0b10100) এর মান: 20
Octal Literal (0o24) এর মান: 20
Hexadecimal Literal (0x14) এর মান: 20
অন্যান্য ডেটা টাইপের ক্ষেত্রে প্রযোজ্য?
এই 0b
, 0o
, এবং 0x
উপসর্গযুক্ত লিটারেলগুলো মূলত Integer ডেটা টাইপের জন্য। আপনি এগুলো float
বা bool
-এর জন্য ব্যবহার করতে পারবেন না। তবে, complex
নাম্বারের বাস্তব অংশে (real part) এগুলো ব্যবহার করা সম্ভব।
# Complex নাম্বারের ক্ষেত্রে ব্যবহার
complex_with_hex = 0x14 + 5j
print(complex_with_hex) # আউটপুট: (20+5j)
উপসংহার
আজ আমরা পাইথনে Integer সংখ্যা লেখার কিছু বিশেষ পদ্ধতি সম্পর্কে জানলাম। যদিও দৈনন্দিন কাজে এগুলোর সরাসরি প্রয়োজন কম, তবে কম্পিউটার বিজ্ঞান, নেটওয়ার্কিং, বা ডেটা এনক্রিপশনের মতো ক্ষেত্রে কাজ করার সময় এই জ্ঞান আপনাকে অন্যদের থেকে এগিয়ে রাখবে।
মূল বিষয়গুলো আরেকবার:
- Binary:
0b
বা0B
দিয়ে শুরু হয়। - Octal:
0o
বা0O
দিয়ে শুরু হয়। - Hexadecimal:
0x
বা0X
দিয়ে শুরু হয়।
এখন আপনার কাজ হলো, বিভিন্ন ডেসিমেল সংখ্যাকে এই পদ্ধতিগুলোতে রূপান্তর করে পাইথনে পরীক্ষা করে দেখা।