যেকোনো ভিত্তির মধ্যে সংখ্যা রূপান্তর করুন মুহূর্তেই
নাম্বার বেস কনভার্টারটি আপনাকে বাইনারি (ভিত্তি ২), অক্টাল (ভিত্তি ৮), দশমিক (ভিত্তি ১০), বা হেক্সাডেসিমেল (ভিত্তি ১৬) — যেকোনো একটাতে একটা সংখ্যা টাইপ করার সুযোগ দেয়, আর সাথে সাথে চারটা সিস্টেমেই এর সমতুল্য রূপ দেখিয়ে দেয়। রূপান্তরের সূত্র মনে রাখা বা মাথায় হিসাব করার কোনো দরকার নেই — শুধু আপনার উৎস ভিত্তি বেছে নিন, সংখ্যাটা টাইপ করুন, বাকি কাজ টুলটাই বাস্তবসময়ে করে দেবে।
বিভিন্ন সংখ্যা-ভিত্তি কেন আছে
মানুষ স্বাভাবিকভাবেই দশ-ভিত্তিতে (দশমিক) গোনে কারণ আমাদের দশটা আঙুল আছে। কিন্তু কম্পিউটারের তো আঙুল নেই — তারা কাজ করে বৈদ্যুতিক সিগন্যাল দিয়ে, যা হয় চালু নয়তো বন্ধ, যেখান থেকে জন্ম নেয় ভিত্তি-২ (বাইনারি)। অন্যান্য ভিত্তি এসেছে বাইনারির ব্যবহারিক সংক্ষিপ্ত রূপ হিসেবে: ভিত্তি-৮ (অক্টাল) তিনটা বাইনারি অঙ্ককে একত্রে গ্রুপ করে, আর ভিত্তি-১৬ (হেক্সাডেসিমেল) চারটাকে গ্রুপ করে, ফলে দীর্ঘ বাইনারি স্ট্রিং প্রকৌশলীদের জন্য অনেক বেশি পড়ার আর লেখার-যোগ্য হয়ে ওঠে।
বাইনারি — ভিত্তি ২
বাইনারি হলো ডিজিটাল কম্পিউটিংয়ের ভিত্তি। কম্পিউটারে সংরক্ষিত প্রতিটা মান, প্রসেসরে চালিত প্রতিটা নির্দেশনা, স্ক্রিনের প্রতিটা পিক্সেল শেষ পর্যন্ত ০ আর ১-এর একটা সিকোয়েন্সে পরিণত হয়। একটা বাইনারি অঙ্ককে বলে বিট। আটটা বিট মিলে একটা বাইট। যেহেতু বাইনারি সংখ্যা দ্রুত লম্বা হয়ে যায় — দশমিকের ২৫৫ সংখ্যাটা লিখতে আটটা বাইনারি অঙ্ক লাগে (11111111) — প্রোগ্রামাররা খুব কম সময়ই কাঁচা বাইনারি লেখেন। তারা হেক্সাডেসিমেল পছন্দ করেন, যা অনেক বেশি সংক্ষিপ্ত।
কম্পিউটার বিজ্ঞানের শিক্ষার্থী, সফটওয়্যার প্রকৌশলী, আর হার্ডওয়্যারের কাছাকাছি কাজ করা যেকারো জন্যই বাইনারি বোঝা জরুরি। বিট ম্যানিপুলেশন — AND, OR, XOR, NOT এর মতো অপারেশন ব্যবহার করে — সিস্টেম প্রোগ্রামিং, ক্রিপ্টোগ্রাফি আর গ্রাফিক্স প্রসেসিংয়ে একটা সাধারণ কৌশল।
অক্টাল — ভিত্তি ৮
অক্টাল ০ থেকে ৭ পর্যন্ত অঙ্ক ব্যবহার করে। একটা অক্টাল অঙ্ক ঠিক তিনটা বাইনারি অঙ্ক প্রকাশ করে, তাই তিনটা বিটের গ্রুপ পরিষ্কারভাবে একটা অক্টাল অঙ্কে ম্যাপ হয়। এটা মেইনফ্রেম আর মিনিকম্পিউটারের যুগে খুবই সুবিধাজনক ছিল, যখন মেমোরি প্রায়ই তিন-বিটের গ্রুপে সাজানো থাকত।
আজকে, অক্টালের সবচেয়ে দৃশ্যমান ব্যবহার ইউনিক্স আর লিনাক্সের ফাইল পারমিশন কোডে। আপনি যখন কোনো ফাইলে chmod 755 চালান, তখন আপনি অক্টাল নোটেশন ব্যবহার করে পারমিশন সেট করছেন: 7 (rwx), 5 (r-x), 5 (r-x)। প্রতিটা অঙ্ক মালিক, গ্রুপ আর অন্যদের জন্য তিনটা পারমিশন বিট (রিড, রাইট, এক্সিকিউট) এনকোড করে। লিনাক্স সিস্টেম নিয়ে কাজ করা যেকোনো সিসঅ্যাডমিন বা ডেভেলপার প্রতিদিনই অক্টাল পারমিশনের মুখোমুখি হন।
দশমিক — ভিত্তি ১০
দশমিক হলো প্রায় প্রতিটা মানব সংস্কৃতিতে ব্যবহৃত দৈনন্দিন সংখ্যা পদ্ধতি। এটা ০ থেকে ৯ পর্যন্ত অঙ্ক ব্যবহার করে। দশমিক সংখ্যার প্রতিটা অবস্থান ১০-এর একটা ঘাত প্রকাশ করে: এক, দশক, শতক, হাজার, এভাবে চলতে থাকে। মানুষের সামনে দেখানো অ্যাপ্লিকেশনের জন্য দশমিকই ডিফল্ট — ব্যাংক ব্যালেন্স, তাপমাত্রা, দূরত্ব, টাইমস্ট্যাম্প — সবই দশমিকে দেখানো হয়।
তবে কম্পিউটারের ভেতরে দশমিক তুলনামূলকভাবে ব্যয়বহুল। প্রসেসর স্বাভাবিকভাবেই বাইনারিতে কাজ করে, তাই দশমিক সংখ্যা প্রকাশ করতে বাইনারি কোডেড ডেসিমেল (BCD) বা রূপান্তর অ্যালগরিদমের মতো এনকোডিং পদ্ধতি দরকার হয়। এই কারণেই বেশিরভাগ অভ্যন্তরীণ গণনা বাইনারি পাটিগণিত ব্যবহার করে, আর শুধু চূড়ান্ত আউটপুটটাই প্রদর্শনের জন্য দশমিকে রূপান্তরিত হয়।
হেক্সাডেসিমেল — ভিত্তি ১৬
হেক্সাডেসিমেল ৯-এর বাইরেও অঙ্কসেট বাড়িয়ে দেয়, A থেকে F অক্ষর ব্যবহার করে ১০ থেকে ১৫ প্রকাশ করার জন্য। একটা হেক্সাডেসিমেল অঙ্ক ঠিক চারটা বাইনারি অঙ্ক (একটা নিবল) প্রকাশ করে। এটা হেক্সকে বাইনারি ডেটার একটা অত্যন্ত সংক্ষিপ্ত রূপ করে তোলে। বাইনারিতে ৮-বিটের বাইট 11111111 হেক্সে হয়ে যায় শুধু FF।
হেক্সাডেসিমেল কম্পিউটিং আর ইলেকট্রনিক্সে সর্বত্র বিদ্যমান। ডিবাগারের মেমোরি অ্যাড্রেস, ওয়েব ডিজাইনের রং কোড (#FF6347 হলো টমেটো লাল), MAC অ্যাড্রেস, SHA হ্যাশ, আর বাইটকোড লিস্টিং — সবই হেক্সাডেসিমেল ব্যবহার করে। কোনো ফাইলের হেক্স ডাম্প পড়েছেন বা কোনো নেটওয়ার্ক প্যাকেট পরীক্ষা করেছেন? তাহলে আপনি সরাসরি হেক্সাডেসিমেল নিয়ে কাজ করেছেন।
ভিত্তি রূপান্তর কীভাবে কাজ করে
যেকোনো ভিত্তি থেকে দশমিকে রূপান্তর করা সহজ: প্রতিটা অঙ্ককে তার অবস্থানের ঘাতে উত্থিত ভিত্তি দিয়ে গুণ করুন (ডান দিক থেকে ০ ধরে গণনা শুরু করে), তারপর ফলাফলগুলো যোগ করুন।
যেমন, বাইনারি সংখ্যা 1011 দশমিকে রূপান্তরিত হয় এভাবে:
1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11
দশমিক থেকে অন্য কোনো ভিত্তিতে রূপান্তর করতে বারবার ভাগ করতে হয়: সংখ্যাটাকে লক্ষ্য ভিত্তি দিয়ে ভাগ করুন, ভাগশেষটাকে পরবর্তী অঙ্ক হিসেবে রেকর্ড করুন (ডান থেকে বাঁ দিকে), আর ভাগফল শূন্য না হওয়া পর্যন্ত এভাবেই চালিয়ে যান।
যেমন, 11-কে বাইনারিতে রূপান্তর করতে:
11 ÷ 2 = 5 ভাগশেষ 1, 5 ÷ 2 = 2 ভাগশেষ 1, 2 ÷ 2 = 1 ভাগশেষ 0, 1 ÷ 2 = 0 ভাগশেষ 1। ভাগশেষগুলো নিচ থেকে ওপরে পড়লে: 1011।
বাস্তব প্রয়োগ
রং কোড: ওয়েব ডিজাইন আর গ্রাফিক ডিজাইন হেক্সাডেসিমেল রং কোডের ওপর নির্ভর করে। প্রতিটা CSS রং যেমন #3A86FF আসলে তিন জোড়া হেক্স অঙ্ক, যা লাল, সবুজ আর নীল চ্যানেল এনকোড করে, প্রতিটা 00 (0) থেকে FF (255) পর্যন্ত।
নেটওয়ার্ক অ্যাড্রেস: MAC অ্যাড্রেস আর IPv6 অ্যাড্রেস হেক্সাডেসিমেলে লেখা হয়। 2001:0db8:85a3::8a2e:0370:7334-এর মতো একটা IPv6 অ্যাড্রেস ১২৮ বিটকে একটা মানুষের-পড়ার-যোগ্য (যদিও তবুও জটিল) ফরম্যাটে গুঁজে দেয়।
ডিবাগিং: অ্যাসেম্বলি কোড ধাপে ধাপে চালানো বা ডিবাগারে মেমোরি পরীক্ষা করার সময়, অ্যাড্রেস আর কাঁচা ডেটা মান হেক্সে দেখানো হয়। হেক্স আর দশমিকের মধ্যে দ্রুত অনুবাদ করতে পারা — বা এটা বোঝা যে 0xFF = 255 — লো-লেভেল ডেভেলপারদের জন্য একটা মূল দক্ষতা।
পারমিশন: লিনাক্স আর ম্যাকওএসের ফাইল সিস্টেম পারমিশন অক্টাল ব্যবহার করে। এটা বোঝা যে 644 মানে মালিক পড়তে ও লিখতে পারে (4+2=6), আর গ্রুপ ও অন্যরা শুধু পড়তে পারে (4), সার্ভার প্রশাসনের জন্য অপরিহার্য।
মানসিক রূপান্তরের কিছু কৌশল
অনুশীলনের সাথে সাথে কিছু রূপান্তর সহজাত হয়ে ওঠে:
- বাইনারি 1111 = হেক্স F = দশমিক 15
- বাইনারি 1000 = হেক্স 8 = দশমিক 8
- হেক্স FF = দশমিক 255 = বাইনারি 11111111
- হেক্স 10 = দশমিক 16 = বাইনারি 10000
একটা কাজের শর্টকাট: একটা বাইনারি সংখ্যাকে ডান দিক থেকে ৪-অঙ্কের গ্রুপে ভাগ করুন আর প্রতিটা গ্রুপকে আলাদাভাবে একটা হেক্স অঙ্কে রূপান্তর করুন। 11111100-এর জন্য, ভাগ করুন 1111 আর 1100-এ → F আর C → হেক্সে FC।
ব্যক্তিগত ও তাৎক্ষণিক
সব হিসাব সম্পূর্ণভাবে আপনার ব্রাউজারে চলে। কোনো ডেটা কোনো সার্ভারে পাঠানো হয় না। রূপান্তরটা স্থানীয়ভাবে ঘটে জাভাস্ক্রিপ্টের বিল্ট-ইন parseInt আর toString মেথড ব্যবহার করে, যেগুলো জাভাস্ক্রিপ্টের নিরাপদ ইন্টিজার রেঞ্জের (2^53 − 1 পর্যন্ত) মধ্যে অত্যন্ত নির্ভরযোগ্য।
সচরাচর জিজ্ঞাসিত প্রশ্ন
এই টুলটা কি বিনামূল্যে? হ্যাঁ, সম্পূর্ণ বিনামূল্যে, কোনো সাইনআপ বা সাবস্ক্রিপশন ছাড়াই।
এটা কি ইন্টারনেট ছাড়া কাজ করে? পেজ একবার লোড হয়ে গেলে, টুলটা সম্পূর্ণভাবে অফলাইনে কাজ করে।
আমি কি ফোনে ব্যবহার করতে পারি? হ্যাঁ। টুলটা মোবাইল-অপ্টিমাইজড, আর iOS ও Android দুটোতেই কাজ করে।
সবচেয়ে বড় কত সংখ্যা সমর্থিত? টুলটা জাভাস্ক্রিপ্টের নিরাপদ ইন্টিজার সীমা পর্যন্ত সঠিকভাবে কাজ করে (Number.MAX_SAFE_INTEGER = দশমিকে 9,007,199,254,740,991)।
Number base converter FAQ
- What is binary (base 2)?
- Binary uses only the digits 0 and 1. Each position represents a power of 2. It is the fundamental language of computers since transistors have two states: on (1) and off (0). For example, 1010 in binary equals 10 in decimal.
- What is hexadecimal (base 16)?
- Hexadecimal uses digits 0–9 and letters A–F (representing 10–15). One hex digit represents exactly 4 binary digits (bits), making hex a compact way to write binary. For example, FF in hex equals 255 in decimal.
- What is octal (base 8)?
- Octal uses digits 0–7. One octal digit represents exactly 3 binary digits. Octal was widely used in early computing systems and is still used in Unix/Linux file permissions (e.g., chmod 755).