সংখ্যা পদ্ধতির রূপান্তরঃ বাইনারি থেকে অক্টাল ও অক্টাল থেকে বাইনারি

বাইনারি থেকে অক্টালঃ
আমরা জানি যে, বাইনারি সংখ্যার বেজ হচ্ছে ২। ২ = ১, ২ = ২, ২ = ৪। অক্টাল সংখ্যায় ব্যবহৃত ডিজিট হল আটটি। ০, ১, ২, ৩, ৪, ৫, ৬, ৭। আর এই প্রতিটি ডিজিট তার ইকোইভিলেন্ট তিন বিটের একটি নাম্বারকে রিপ্রেজেন্ট করে।
 পাশের ছবিটা লক্ষ্য কর, বাম পাশে নীল কালি দিয়ে নিচে নিচে ০ থেকে ৭ পর্যন্ত অাটটি অক্টাল নাম্বার লিখলাম। এবার এই নাম্বারগুলোর বাইনারি মান বের করব। কিভাবে করব এই কাজটা? উপরে বলেছিলাম প্রতিটি ডিজিট তার ইকোইভিলেন্ট তিন বিটের একটি নাম্বারকে রিপ্রেজেন্ট করে। উপরে লাল কালি দিয়ে তিনটি সংখ্যা লিখেছি। ১, ২ আর ৪। এখানে ১ মানে ২, ২ মানে ২, ৪ মানে ২
তো মানগুলো (তিন ডিজিট) এখানে কিভাবে বসালাম? লক্ষ্য কর, আমরা যদি ৪ আর ১ যোগ করি তাহলে পাচ্ছি ৫। যেহেতু ৪ আর ১ এই দুইটা সংখ্যা যোগ করে ৫ পেয়েছি। তাই ৪ এর বরাবর ১ লিখেছি, তারপর ২ এর বরাবর ০ আর ১ এর বরাবর ১। তারপর দেখ ৬ এর জন্য লিখেছি ১১০। ৪ আর ২ যোগ করলে হয় ৬। যোগের জন্য যেহেতু এখানে ৪ আর ২ কে ব্যবহার করেছি তাই ৪ এর নিচে ১, ২ এর নিচে ১ আর ১ এর নিচে ০ লিখেছি। অর্থাৎ এখানে যে কাজটা করেছি তা হল এই ০ থেকে ৭ পর্যন্ত সংখ্যাগুলোর জন্য এই ১, ২ আর ৪ এর মধ্যে যে যে সংখ্যা যোগের কাজে ব্যবহৃত হয়েছে তার নিচে ১, আর যেসব ব্যবহৃত হয় নাই তার নিচে ০ লিখেছি। এভাবেই আমরা এ আটটি অক্টাল ডিজিটের জন্য তার সমতুল্য তিন বিটের বাইনারি মান পেলাম।

তো এবার উদাহরণ হিসেবে (১১০১০১) এই বাইনারি সংখ্যাটিকে অক্টালে রূপান্তর করব। যেহেতু একটি অক্টাল সংখ্যা তার সমতুল্য তিন বিট বাইনারি মানের সমান। তাই বাইনারি সংখ্যাকে যখন অক্টাল সংখ্যায় রূপান্তর করব তখন পূর্ণ সংখ্যার জন্য ডান দিক থেকে বাম দিকে এবং ভগ্নাংশ সংখ্যার জন্য বাম দিক থেকে ডান দিকে প্রতি তিন বিট একত্রে নিয়ে ছোট ছোট ভাগ করতে হবে। তারপর প্রতিটি ভাগের বাইনারি মান লিখতে হবে। আর প্রতিটি ভাগের বাইনারি মানসমূহ সাজালে অক্টাল সংখ্যা পাওয়া যাবে।
এখানে, ডান দিক থেকে প্রথম তিনটি বিট ১০১ কে আলাদা করলাম। তারপর বাকি তিন বিটকে কে আলাদা করলাম। এবার উপরের চার্ট অনুযায়ী অমরা জানি ১০১ মানে হল ৫, আর ১১০ মানে ৬। এভাবেই পেয়ে গেলাম (১১০১০১) এর অক্টাল মান (৬৫)। পরীক্ষার সময় আলাদা করে রাফ করে উপরের চার্টটি তৈরী করলে উত্তর করতে সুবিধা হবে।
আরো একটি উদাহরণ দেখি, (১০১১১১.০১১০০১) সংখ্যাটিকে অক্টালে রূপান্তর করব।
এখানেও একই ভাবে পূর্ণ সংখ্যার ক্ষেত্রে সংখ্যার ডান থেকে বাম দিকে তিনটি তিনটি করে বিট আলাদা করে তার অক্টাল মান বসানো হয়েছে। আর ভগ্নাংশের ক্ষেত্রে সংখ্যার বাম থেকে ডানে তিনটি তিনটি করে বিট আলাদা করে তার অক্টাল মান বসানো হয়েছে।
তখন যেমন ছয় বিট ছিল বলে তিন বিট তিন বিট করে আলাদা করেছেন। যদি ছয় বিট না হয়ে সাত বিট হত কিংবা পাঁচ বিট হত, তাহলে কি করতে হত? হ্যাঁ, পাশের চিত্রের উদাহরণটি দেখ। এক্ষেত্রে, পূর্ণ সংখ্যার ক্ষেত্রে বামদিকে তিন বিট বানাতে গিয়ে যতগুলা ঘর খালি থাকে, ততগুলা শূন্য বসিয়ে কাজ করতে হয়। আর ভগ্নাংশের জন্য, ওই সংখ্যার ডানে একই ভাবে শূণ্য বসাতে হয়। আশা করি বিষয়টি সবাই বুঝতে পেরেছ।

অক্টাল থেকে বাইনারিঃ
অক্টাল থেকে বাইনারিতে রূপান্তর করতে হলেও উপরের চার্টটি আমাদের কাজে লাগবে। তোমরা অনেকে নিশ্চই বুঝে গেছ আমাদের এখন কি করতে হবে। দেখ, উপরের ওই চার্টটি থেকে ত আমরা জানিই ০ থেকে ৭ পর্যন্ত এই আটটি সংখ্যার বাইনারি মান কত। এবার সে চার্ট ধরে মান বসিয়ে দিলেই ত উত্তর পেয়ে যাব।
পাশের চিত্রের উদাহরণটি লক্ষ্য কর, (২৫৬) কে বাইনারিতে রূপান্তর করতে হবে। অক্টাল ডিজিট ২ এর বাইনারি মান হল ০১০, ৫ এর বাইনারি মান হল ১০১, ৬ এর বাইনারি মান হল ১১০। এবার এ মানগুলো একসাথে বসিয়ে পেয়ে গেলাম (২৫৬) এর বাইনারি মান।

আরো দুইটা উদাহরণ দেখি। (১২৭) এবং (৩০৭) কে বাইনারিতে রূপান্তর করব।
(১২৭)
= (০০১০১০১১১)

(৩০৭)
= (০১১০০০১১১)