লিনাক্স এবং GNU সুইট கொண்ட প্রায় সব ইউনিক্স-লাইক অপারেটিং সিস্টেমে bc (বেসিক ক্যালকুলেটর) ল্যাঙ্গুয়েজ বিল্ট-ইন থাকে। এর সিনট্যাক্স C প্রোগ্রামিং ল্যাঙ্গুয়েজের খুব মিল রয়েছে। আপনি কমান্ড লাইন থেকে সরাসরি এটিকে হেক্সাডেসিমেল ক্যালকুলেটর হিসেবে ব্যবহার করতে পারবেন—আর ফোনে আলাদা হেক্স বা অক্টেল অ্যাপ ডাউনলোড করার দরকার নেই।
এটি ডেভেলপাররা এবং হোমওয়ার্ক কর रहे ছাত্রদের জন্য বড় সুবিধা। তবে এটি ব্যবহার করতে টার্মিনাল খুলতে হবে। উবুন্টুতে Ctrl+Alt+T চাপুন অথবা Unity Dash-এ "terminal" সার্চ করুন। Whisker বা Applications মেনুর System Tools-ও থেকে খোলা যায়। macOS-এ Utilities ফোল্ডার বা ডকে পিন করা থাকলে সেখান থেকে টার্মিনাল চালু করুন। আজকাল প্রায় সব ইউনিক্স-লাইক সিস্টেমে bc পাওয়া যায়, শুধু লিনাক্সে নয়।
পদ্ধতি ১: bc দিয়ে ডেসিমেল ও হেক্সাডেসিমেল সংখ্যা রূপান্তর
১২৭ সংখyasটিকে হেক্সে রূপ করতে টার্মিনালে লিখুন:
echo 'obase=16;127' | bc
ফলাফল আসবে 7F। যেকোনো পূর্ণসংখ্যার জন্য এটি কাজ করে। বিপরীত রূপান্তরের জন্য (হেক্স থেকে ডেসিমেল):
echo 'ibase=16;obase=A;7F' | bc
এটুকুই! যেকোনো বৈধ হেক্স সংখ্যা দিয়ে আপনি অন্য সময়ও দ্রুত রূপান্তর করতে পারবেন। যেহেতু এটি একটি স্ট্যান্ডার্ড ইউনিক্স কমান্ড, তাই শেল স্ক্রিপ্টে সহজেই ব্যবহার করা যায়।
পদ্ধতি ২: বাইনারি ও হেক্সাডেসিমেল সংখ্যা রূপান্তর
বাইনারি থেকে হেক্সে রূপান্তরের জন্য:
echo 'obase=16;ibase=2;111010001' | bc
এন্টার চাপলে আউটপুট আসবে 1D1। আপনার প্রয়োজনীয় যেকোনো বাইনারি সংখ্যা বসিয়ে দিন। বিপরীত কাজটিও সম্ভব—হেক্স থেকে বাইনারিতে:
echo 'obase=2;ibase=16;1D1' | bc
এখানেও 1D1-এর জায়গায় অন্য যেকোনো বৈধ হেক্স মান দিয়ে পাবেন আসল বাইনারি সংখ্যাটি।
দুটি গুরুত্বপূর্ণ টিপস মনে রাখুন:
- হেক্সাডেসিমেল সংখ্যাতে ব্যবহার হওয়া অক্ষরগুলো বিশেষভাবে বড় হাতের (uppercase) হতে হবে, কারণ bc ছোট হাতের অক্ষরকে অ্যালজেব্রিক ভেরিয়েবল হিসেবে বিবেচনা করে।
- এই সব কমান্ড সাধারণ ইউজার দিয়ে চলে—রুট অ্যাক্সেস দরকার নয় আধুনিক লিনাক্স বা یونিক্সে।
পদ্ধতি ৩: bc কে পুরো হেক্স ক্যালকুলেটর হিসেবে ব্যবহার (গাণিতিক অপারেশন)
bc দিয়ে হেক্স সংখ্যাগুলোর মধ্যে যোগ, বিয়োগ, গুণ, ভাগ ও মডুলাস করা যায়। প্রোগ্রামাররা মেমরি অ্যাড্রেসের পার্থক্য বের করতে বা কম্পিউটার সায়েন্সের হোমওয়ার্কে এই ফিচারটা খুব কাজে লাগে।
উদাহরণস্বরূপ, EE65522D থেকে C3EFAF86 বিয়োগ করতে:
echo 'ibase=16;EE65522D-C3EFAF86' | bc
ফলাফল হেক্সে পেতে চাইলে:
echo 'obase=16;ibase=16;EE65522D-C3EFAF86' | bc
অন্য অপারেশনও সম्भব:
- গুণ:
echo 'obase=16;ibase=16;EE65522D*C3EFAF86' | bc - যোগ:
+অপারেটর ব্যবহার করুন - ভাগ:
/দিয়ে ভাগফল,%দিয়ে ভাগশেষ (modulus) পাওয়া যায়
উদাহরণস্বরূপ, echo 'obase=16;ibase=16;EE65522D%C3EFAF86' | bc রান করলে রিটার্ন করবে 2A75A2A7—কারণ ভাগফল ১ আর ভাগশেষ 2A75A2A7। প্রথম / দিয়ে ভাগফল বের করুন, তারপর % দিয়ে ভাগশেষ।
লেখক পরিচয়

Kevin Arrows
কেভিন অ্যারোজ একজন দক্ষ প্রযুক্তি বিশেষজ্ঞ যিনি 십 বছরের বেশি অভিজ্ঞতা রেখেছেন। তিনি Microsoft Certified Technology Specialist (MCTS) সার্টিফিকেট প্রাপ্ত। সফটওয়্যার ডেভেলপমেন্ট, সাইবার সিকিউরিটি এবং ক্লাউড কম্পিউটিং-এ দক্ষতার সাথে জটিল প্রযুক্তিগত বিষয়গুলো সহজ ভাষায় ব্যাখ্যা করার জন্য তিনি 높이 মান্য।