3.2.1 সংখ্যা পদ্ধতির প্রকারভেদ (Classification of Number System)

সংখ্যা পদ্ধতিকে নন-পজিশনাল এবং পজিশনাল এই দুটি মূল পদ্ধতিতে ভাগ করা যায়:

নন-পজিশনাল সংখ্যা পদ্ধতি : এই পদ্ধতিতে প্রতীক বা চিহ্নগুলো যেখানেই ব্যবহার করা হোক, তার মান একই থাকবে। রোমান সংখ্যা হচ্ছে নন-পজিশনাল (Non-positional) সংখ্যার উদাহরণ। যেমন- রোমান সংখ্যায় 5 বোঝানোর জন্য V ব্যবহার করা হয়। V, VI কিংবা VII এই তিনটি উদাহরণে V তিনটি ভিন্ন জায়গায় বসেছে, কিন্তু প্রতি ক্ষেত্রেই V চিহ্নটি 5 বুঝিয়েছে। অর্থাৎ এটি কোন স্থানে বসেছে তার উপর নির্ভর করে তার মান পরিবর্তন হয়নি। প্রাচীনকালে যখন সংখ্যা তত্ত্ব সেভাবে গড়ে উঠেনি তখন নন-পজিশনাল সংখ্যা পদ্ধতির প্রচলন ছিল।

পজিশনাল সংখ্যা পদ্ধতি : এই পদ্ধতিতে চিহ্ন বা প্রতীকটিকে কোন অবস্থানে ব্যবহার করা হচ্ছে তার উপর মানটি নির্ভর করে। আধুনিক সংখ্যা তত্ত্ব গড়ে উঠার পর পজিশনাল (Positional) সংখ্যা পদ্ধতির প্রচলন শুরু হয়েছে। আমাদের প্রচলিত দশমিক পদ্ধতি হচ্ছে পজিশনাল সংখ্যা পদ্ধতির উদাহরণ। কারণ 555 সংখ্যাকে ডান দিকের প্রথম অঙ্কটি 5 সংখ্যাকে বোঝালেও তার পরেরটি 50 এবং পরেরটি 500 সংখ্যাকে বুঝাচ্ছে। এটি 10 ভিত্তিক সংখ্যা এবং প্রত্যেকটি অবস্থানের একটি মান রয়েছে। ডান দিকের প্রথম অঙ্কটির মান 1, পরেরটি 10, এর পরেরটি 100 এভাবে আগের অবস্থান থেকে পরের অবস্থান সবসময়ই 10 গুণ বেশি। যদি এটি 8 ভিত্তিক সংখ্যা হতো তাহলে পরের অবস্থান আগের অবস্থান থেকে 8 গুণ বেশি হতো। 16 ভিত্তিক সংখ্যা হলে প্রতিটি অবস্থান আগের অবস্থান থেকে 16 গুণ বেশি হতো।

নিচে কয়েকটি পজিশনাল সংখ্যা পদ্ধতির উদাহরণ দেওয়া হলো:

বাইনারি সংখ্যা
আমরা সবাই দশ ভিত্তিক দশমিক সংখ্যার সাথে পরিচিত কিন্তু ডিজিটাল ইলেকট্রনিক্সের জন্য দশভিত্তিক সংখ্যা খুব কার্যকর নয়, দশটি চিহ্নের জন্য দশটি ভিন্ন ভিন্ন ভোল্টেজ ব্যবহার করে ইলেকট্রনিক যন্ত্রপাতি তৈরি করা বাস্তবসম্মত নয়। দুটি চিহ্নের জন্য দুটি ভোল্টেজ লেভেল তুলনামূলক ভাবে অনেক সহজ। সেজন্য ডিজিটাল ইলেকট্রনিক্স আসলে 2 ভিত্তিক বা বাইনারি (Binary) সংখ্যার উপর ভিত্তি করে গড়ে উঠেছে।

দশমিক সংখ্যায় যেরকম 0,1,2,3,4,5,6,7,8 এবং 9-এই দশটি চিহ্ন বা অঙ্ক (Digit) ব্যবহার করে গড়ে উঠেছে, বাইনারি সংখ্যা ঠিক সেরকম 0 এবং 1 এই দুইটি অঙ্ক ব্যবহার করে গড়ে উঠেছে। তবে সে কারণে কোনো সংখ্যাকে প্রকাশ করার জন্য তুলনামূলক ভাবে বেশি অঙ্ক ব্যবহার করা ছাড়া বাইনারি সিস্টেমে আর কোনো সীমাবদ্ধতা নেই। যে কোনো সংখ্যা এই বাইনারি সংখ্যা দিয়ে প্রকাশ করা যায় এবং যে কোনো গাণিতিক প্রক্রিয়া এই বাইনারি সংখ্যা দিয়ে করা সম্ভব।

বাইনারি সংখ্যাতেও প্রত্যেকটি অঙ্কের একটি স্থানীয় মান রয়েছে। দশমিক সংখ্যায় স্থানীয় মান 100, 101, 102 … এভাবে বেড়েছে, বাইনারি সংখ্যাতে 20, 21, 22, 23… এভাবে বেড়েছে। ভগ্নাংশে প্রকাশ করার জন্য দশমিক বিন্দুর পর অঙ্কগুলো 10-1, 10-2, 10-3… এভাবে কমছে, ঠিক সেরকম বাইনারি সংখ্যায় বাইনারি বিন্দু (বা র‍্যাডিক্স বিন্দু)’র পর অঙ্কগুলো 2-1, 2-2, 2-3… এভাবে কমেছে। তুলনা করার জন্য নিচে দশমিক এবং বাইনারি সংখ্যার একটি উদাহরণ দেওয়া হলো:

এখানে MSD ও LSD বলতে বোঝানো হয় Most ও Least Significant Digit এবং MSB ও LSB বলতে বোঝানো হয় Most ও Least Significant Bit। দশমিক সংখ্যাটির মতো বাইনারি সংখ্যাটির মান বের করার জন্য আসলে বাইনারি সংখ্যার সাথে তার স্থানীয় মান গুণ দিয়ে সব যোগ করে নিতে হব।
11001.1102 = 1×24+1×23+0x22+0x21+1×20+1×2-1+1×2-2+0x2-3
= 16+8+4+0+0+1+0.5+0.25+0
= 25.7510

এখানে বাইনারি সংখ্যার জন্য সাবস্ক্রিপ্টে যে 2 এবং দশমিক সংখ্যার জন্য 10 লেখা হয়েছে সেগুলো হচ্ছে তাদের ভিত্তি বা বেজ (Base)। কোনো সংখ্যা পদ্ধতিতে একটি সংখ্যা বোঝানোর জন্য সর্বমোট যতগুলো অঙ্ক ব্যবহার করতে হয়, সেটি হচ্ছে সংখ্যাটির ভিত্তি বা বেজ। দশমিক পদ্ধতির জন্য বেজ 10, বাইনারির জন্য বেজ ২, ঠিক সেরকম অক্টাল এবং হেক্সাডেসিমেল নামেও সংখ্যা পদ্ধতির ব্যবহার করা হয়, যাদের বেজ যথাক্রমে 8 এবং 16. সাধারণভাবে একটি সংখ্যা পদ্ধতির জন্য সবসময় তার বেজ লেখার প্রয়োজন হয় না তবে একই সাথে একাধিক সংখ্যা পদ্ধতি থাকলে সংখ্যাটির পাশে তার বেজ লেখা থাকলে বিভ্রান্তির সুযোগ থাকে না।

এই অধ্যায়ে আমরা একটি ডিজিটাল সিস্টেমের জন্য প্রয়োজনীয় সংখ্যা পদ্ধতি গড়ে তুলব যেখানে ভগ্নাংশের প্রয়োজন হবে না, কাজেই আমরা আমাদের সকল আলোচনা শুধু পূর্ণ সংখ্যার মাঝে সীমাবদ্ধ রাখব।

3.1 টেবিলে বাইনারি সংখ্যা এবং দশমিক সংখ্যার পর্যায়ক্রম মানের একটা উদাহরণ দেয়া হলো।

অক্টাল সংখ্যা
অক্টাল সংখ্যার ভিত্তি বা বেজ হচ্ছে 8 এবং এই সংখ্যার জন্য যে আটটি অঙ্ক ব্যবহার করা হয় সেগুলো হচ্ছে 0,1,2,3,4,5,6 এবং 7। 3.2 টেবিলে 0 থেকে 16 পর্যন্ত অক্টাল সংখ্যা লিখে দেখানো হলো।

হেক্সাডেসিমেল সংখ্যা
হেক্সাডেসিমেলের ভিত্তি হচ্ছে 16। কাজেই এটাকে প্রকাশ করার জন্য 16টি অঙ্ক প্রয়োজন। ডেসিমেল দশটি সংখ্যা 0 থেকে ৯ পর্যন্ত, এর পরের 6টি অঙ্কের জন্য A, B, C, D, E এবং F এই ইংরেজি বর্ণকে ব্যবহার করা হয়। ৩.৩ টেবিলে দশমিক সংখ্যা এবং তার হেক্সাডেসিমেল সংখ্যাগুলোর জন্য তার বাইনারি রূপটিও দেখানো হয়েছে। প্রতিটি হেক্সাডেসিমেল অঙ্কের জন্য চারটি করে বাইনারি বিটের প্রয়োজন হয়। সে কারণে হেক্সাডেসিমেল 10 কে বাইনারি 10000 না লিখে 00010000 হিসেবে লেখা হয়েছে।