স্থানীয়মান পদ্ধতি কী
দশমিক সংখ্যা 4,095-এ 4-এর মান 4 নয়: এটি 4,000, কারণ এটি হাজারের ঘরে আছে। প্রতিটি অবস্থান অঙ্কটিকে 10-এর একটি ঘাত (1, 10, 100, 1,000…) দিয়ে গুণ করে। এটিই স্থানীয়মান পদ্ধতি, আর বেস হলো কতগুলো আলাদা অঙ্ক ব্যবহার করা হয় তার সংখ্যা: দশমিকে দশটি।
বাইনারি একইভাবে কাজ করে, কিন্তু বেস 2: শুধু 0 ও 1 আছে, আর প্রতিটি ঘরের মান আগেরটির দ্বিগুণ। হেক্সাডেসিমাল বেস 16 ব্যবহার করে: ষোলোটি অঙ্ক হলো 0 থেকে 9 এবং A থেকে F অক্ষর, আর প্রতিটি ঘরের মান আগেরটির 16 গুণ। কম্পিউটার বাইনারিতে কাজ করে কারণ একটি সার্কিটকে শুধু দুটি অবস্থা (বন্ধ ও চালু) আলাদা করতে হয়, আর হেক্সাডেসিমাল হলো সেই বিটগুলো সংক্ষেপে লেখার একটি উপায়।
| অবস্থান (ডান থেকে বামে) | বাইনারিতে মান | হেক্সাডেসিমালে মান |
|---|---|---|
| 1ম | 1 | 1 |
| 2য় | 2 | 16 |
| 3য় | 4 | 256 |
| 4র্থ | 8 | 4,096 |
| 5ম | 16 | 65,536 |
| 6ষ্ঠ | 32 | 1,048,576 |
| 7ম | 64 | 16,777,216 |
| 8ম | 128 | 268,435,456 |
বাইনারি থেকে দশমিক, হাতে
প্রতিটি অঙ্কের নিচে তার ঘরের মান লিখুন এবং শুধু যেসব ঘরে 1 আছে সেগুলো যোগ করুন। 1101 দিয়ে উদাহরণ: ডান থেকে বামে ঘরগুলোর মান 1, 2, 4 ও 8।
- সংখ্যাটি লিখুন এবং নিচে প্রতিটি অবস্থানের মান লিখুন: 1 1 0 1-এর নিচে 8 4 2 1।
- দেখুন প্রতিটি ঘরে কী আছে: 8-এর ঘরে 1, 4-এর ঘরে 1, 2-এর ঘরে 0 এবং 1-এর ঘরে 1।
- যেসব ঘরে 0 আছে সেগুলো বাদ দিন (এখানে 2-এর ঘরটি)।
- যোগ করুন: 8 + 4 + 0 + 1 = 13। অতএব বাইনারি 1101 হলো দশমিক 13।
বেশি অঙ্ক হলেও একই কাজ: 11111111 হলো 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, যা 8 বিটে ধরে এমন সর্বোচ্চ মান। আর 10110110 হলো 128 + 32 + 16 + 4 + 2 = 182।
দশমিক থেকে বাইনারি, বারবার ভাগ করে
সংখ্যাটিকে বারবার 2 দিয়ে ভাগ করুন এবং প্রতিটি ভাগের ভাগশেষ (সবসময় 0 বা 1) লিখে রাখুন, যতক্ষণ না ভাগফল 0 হয়। ভাগশেষগুলো নিচ থেকে উপরে পড়লে বাইনারি সংখ্যা পাওয়া যায়। 45 দিয়ে উদাহরণ:
- 45 ÷ 2 = 22, ভাগশেষ 1
- 22 ÷ 2 = 11, ভাগশেষ 0
- 11 ÷ 2 = 5, ভাগশেষ 1
- 5 ÷ 2 = 2, ভাগশেষ 1
- 2 ÷ 2 = 1, ভাগশেষ 0
- 1 ÷ 2 = 0, ভাগশেষ 1
ভাগশেষগুলো নিচ থেকে উপরে পড়লে পাওয়া যায় 101101। যাচাই করতে যোগ করুন: 32 + 8 + 4 + 1 = 45।
আরেকটি পদ্ধতি আছে যা অনেকে বেশি পছন্দ করেন: বড় থেকে ছোট ক্রমে 2-এর ঘাত বিয়োগ করা। 200-এর জন্য: 128 ঢোকে (বাকি 72), 64 ঢোকে (বাকি 8), 32 ও 16 ঢোকে না, কিন্তু 8 ঢোকে (বাকি 0)। ব্যবহৃত ঘরগুলো 128, 64 ও 8, তাই 200 = 11001000।
হেক্সাডেসিমাল: ষোলোটি অঙ্ক আর হাতের কাছে রাখার একটি ছক
10 থেকে 15-এর জন্য কোনো অঙ্ক নেই বলে A, B, C, D, E ও F অক্ষর ব্যবহার হয়। একটি হেক্সাডেসিমাল অঙ্ক ঠিক চার বিটের (একটি «নিবল») সমান, আর সেজন্যই এটি এত সুবিধাজনক: 8 বিটের একটি বাইট মাত্র দুটি হেক্সাডেসিমাল অঙ্কে লেখা যায়।
হেক্সাডেসিমাল থেকে দশমিকে যেতে প্রতিটি অঙ্ককে তার ঘরের 16-এর ঘাত দিয়ে গুণ করে যোগ করুন। যেমন 3F = 3 × 16 + 15 = 63 এবং A3 = 10 × 16 + 3 = 163।
| দশমিক | বাইনারি (4 বিট) | অক্টাল | হেক্সাডেসিমাল |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
হেক্সাডেসিমাল কেন ব্যবহার হয়: বাইট, রং ও ঠিকানা
একটি বাইট হলো 8 বিট এবং এর পরিসর 0 থেকে 255 (00000000 থেকে 11111111)। হাতে বিট লেখা ধীর ও ভুলের সম্ভাবনায় ভরা; হেক্সাডেসিমালে একই বাইট মাত্র দুটি অক্ষর, 00 থেকে FF। বাইনারি থেকে হেক্সাডেসিমালে যেতে বিটগুলোকে ডান থেকে চারটি করে ভাগ করুন এবং প্রতিটি ভাগকে ছক থেকে তার অঙ্ক দিয়ে বদলান। উদাহরণ: 11010111 ভাগ হয় 1101 ও 0111-এ, যা D ও 7, তাই এর মান D7। দশমিকে এটি 13 × 16 + 7 = 215।
সবচেয়ে পরিচিত ক্ষেত্র হলো ওয়েবের রং। #FF8800-এ তিনটি বাইট আছে: লালের জন্য FF (255), সবুজের জন্য 88 (136) এবং নীলের জন্য 00 (0)। এটি একটি গাঢ় কমলা: পুরো লাল, অর্ধেকের বেশি সবুজ ও নীল একদমই নেই। হেক্সাডেসিমাল মেমরির ঠিকানা, ত্রুটির কোড ও নেটওয়ার্কের শনাক্তকারীতেও দেখা যায়।
ASCII দিয়ে টেক্সট থেকে বাইনারি
কম্পিউটার প্রতিটি অক্ষরকে একটি সংখ্যা হিসেবে এবং সেই সংখ্যাকে বিট হিসেবে সংরক্ষণ করে। ASCII ছকে A হলো 65, যা 8 বিটের বাইনারিতে 01000001। «Hi» শব্দটিতে দুটি অক্ষর: H হলো 72 (01001000) আর i হলো 105 (01101001), তাই এটি লেখা হয় 01001000 01101001। «Hola»-তে আছে 72, 111, 108 ও 97, অর্থাৎ 01001000 01101111 01101100 01100001, আর হেক্সাডেসিমালে 48 6F 6C 61।
টুলটি UTF-8 এনকোডিং ব্যবহার করে: ইংরেজির মূল অক্ষরগুলোর জন্য প্রতিটি অক্ষর 8 বিটের এক বাইট নেয়, কিন্তু ñ, উচ্চারণ চিহ্নযুক্ত অক্ষর, বাংলা অক্ষর বা ইমোজি কয়েক বাইট নেয়, তাই 8 বিটের বেশি হয়। যেমন ñ হলো দুই বাইট: 11000011 10110001 (হেক্সাডেসিমালে C3 B1)।
টুল দিয়ে এসব কীভাবে করবেন
«বাইনারি, দশমিক ও হেক্স» কনভার্টার আপনার হাতের হিসাব যাচাই করতে বা লম্বা সংখ্যা ভুল ছাড়া সমাধান করতে কাজে লাগে।
- সংখ্যাটি তার বেসের ঘরে লিখুন: «দশমিক (বেস 10)», «বাইনারি (বেস 2)», অক্টাল বা «হেক্সাডেসিমাল (বেস 16)»। বাকি তিনটি নিজে থেকেই পূরণ হয়ে যায়।
- কোনো অঙ্ক ওই বেসের জন্য ঠিক না হলে (যেমন বাইনারিতে 2), টুলটি আপনাকে জানায়।
- টেক্সটের জন্য «টেক্সট» ঘরে লিখুন এবং «বাইনারি (প্রতি অক্ষরে 8 বিট)» ও বাইট অনুযায়ী হেক্সাডেসিমাল দেখুন। টেক্সটে ফিরে যেতে 8 বিটের গ্রুপে বিট পেস্টও করতে পারেন।
- অস্বাভাবিক বেসের জন্য «যেকোনো বেস (2 থেকে 36)» ব্যবহার করুন: উৎসের বেস, গন্তব্যের বেস ও সংখ্যাটি বেছে নিন।
সীমাবদ্ধতা: এটি শুধু অঋণাত্মক পূর্ণসংখ্যা রূপান্তর করে (দশমিক বা চিহ্ন ছাড়া) এবং আপনার জন্য বামে শূন্য বসায় না, তাই নির্দিষ্ট 8 বিট চাইলে নিজে পূরণ করতে হবে (13 হলো 00001101)। আপনি যা লেখেন তার কিছুই আপনার ব্রাউজারের বাইরে যায় না।
সাধারণ ভুল
- ভাগশেষ উল্টো পড়া: বারবার ভাগ করার সময় প্রথম ভাগশেষ হলো একদম ডানের অঙ্ক, বামের নয়।
- প্রয়োজনে বামের শূন্য ভুলে যাওয়া: 13 হলো 1101, কিন্তু বাইট হিসেবে 00001101। যখন দৈর্ঘ্যও তথ্যের অংশ, যেমন রঙে বা নেটওয়ার্ক মাস্কে, তখন এটি গুরুত্বপূর্ণ।
- কপি করার সময় অক্ষর O আর শূন্য, বা হেক্সাডেসিমাল B (11) আর 8 গুলিয়ে ফেলা। হেক্সাডেসিমালে বড় ও ছোট হাতের অক্ষরের মান একই, কিন্তু অক্ষর আর অঙ্ক এক জিনিস নয়।
- রূপান্তরের সময় 0x উপসর্গ বা # চিহ্ন রেখে দেওয়া: এগুলো শুধু সংখ্যাটি যে হেক্সাডেসিমাল তার চিহ্ন, পেস্ট করার আগে সরিয়ে ফেলতে হবে।
- ভাবা যে বাইনারিতে 10 মানে দশ: এটি দুই। একই «10» বেস অনুযায়ী 2, 10 বা 16 হয়।
অনুশীলনের জন্য সমাধান করা অনুশীলনী
উত্তর দেখার আগে প্রতিটি নিজে সমাধান করার চেষ্টা করুন, তারপর টুল দিয়ে যাচাই করুন।
- 10110110 কে দশমিক ও হেক্সাডেসিমালে বদলান। উত্তর: 128 + 32 + 16 + 4 + 2 = 182; চারটির গ্রুপে 1011 0110 = B6।
- 200 কে বাইনারি ও হেক্সাডেসিমালে বদলান। উত্তর: 11001000 ও C8 (12 × 16 + 8 = 200)।
- 7F কে বাইনারিতে বদলান। উত্তর: 7 = 0111 ও F = 1111, তাই 01111111, যা দশমিকে 127।
- «OK» কে বাইনারিতে লিখুন। উত্তর: O হলো 79 ও K হলো 75, অর্থাৎ 01001111 01001011।
সচরাচর জিজ্ঞাসা
বাইনারি 1101 কে দশমিকে কীভাবে বদলাব?
যেসব ঘরে 1 আছে তাদের মান যোগ করবেন: 8 + 4 + 1 = 13। ডান থেকে দ্বিতীয় অঙ্কটি 0, তাই 2 যোগ হয় না।
255 বাইনারি ও হেক্সাডেসিমালে কত?
255 হলো বাইনারিতে 11111111 এবং হেক্সাডেসিমালে FF। এটি 8 বিটের এক বাইটে ধরে এমন সর্বোচ্চ মান।
হেক্সাডেসিমালে অক্ষর কেন ব্যবহার হয়?
কারণ এতে ষোলোটি আলাদা চিহ্ন দরকার, অথচ দশমিক পদ্ধতি দেয় মাত্র দশটি (0 থেকে 9)। তাই A মানে 10, B মানে 11, C মানে 12, D মানে 13, E মানে 14 এবং F মানে 15।
8 বিট দিয়ে কতগুলো আলাদা সংখ্যা লেখা যায়?
256টি, 0 থেকে 255। সাধারণভাবে n বিট দিয়ে 2-এর n ঘাত সংখ্যক মান প্রকাশ করা যায়।
টুলটি কি ঋণাত্মক বা দশমিকযুক্ত সংখ্যা রূপান্তর করে?
না, শুধু অঋণাত্মক পূর্ণসংখ্যা। টেক্সটের জন্য এটি UTF-8 ব্যবহার করে, তাই উচ্চারণ চিহ্নযুক্ত অক্ষর ও ইমোজি 8 বিটের বেশি হয়।