বেস কনভার্সন ক্যালকুলেটর
একটি পূর্ণসংখ্যাকে বাইনারি, অক্টাল, ডেসিমাল এবং হেক্সাডেসিমালে রূপান্তর করুন।
এই বেস কনভার্সন ক্যালকুলেটরটি কীভাবে ব্যবহার করবেন
- পূর্ণসংখ্যাটি লিখুন
Whole number ফিল্ডে একটি অ-ঋণাত্মক পূর্ণসংখ্যা টাইপ করুন (যেমন 255 বা 4096)।
- বাইনারি মানটি দেখুন
বাইনারি মান ফলাফলটি বেস-২ উপস্থাপনা দেখায়।
- অক্টাল এবং হেক্স পরীক্ষা করুন
সংক্ষিপ্ত উপস্থাপনার জন্য অক্টাল এবং হেক্সাডেসিমেল ফলাফলগুলো পর্যালোচনা করুন।
- ডেসিমেল যাচাই করুন
ডেসিমেল আউটপুটটি ক্রস-চেকিংয়ের জন্য মূল মান নিশ্চিত করে।
এই বেস কনভার্সন ক্যালকুলেটরটি যেভাবে কাজ করে
এই বেস কনভার্সন ক্যালকুলেটরটি একটি ডেসিমাল (বেস ১০) পূর্ণসংখ্যাকে বাইনারি (বেস ২), অক্টাল (বেস ৮) এবং হেক্সাডেসিমাল (বেস ১৬)-এ রূপান্তর করে — যা কম্পিউটিংয়ে বহুল ব্যবহৃত চারটি সংখ্যা পদ্ধতি। প্রতিটি পজিশনাল সংখ্যা পদ্ধতি একইভাবে কাজ করে: প্রতিটি অঙ্কের অবস্থান বেসের একটি ধারাবাহিক ঘাত নির্দেশ করে এবং সংখ্যার মান হলো প্রতিটি অঙ্ক ও তার অবস্থানের ওজনের গুণফলের সমষ্টি। বেস পরিবর্তন করা লো-লেভেল প্রোগ্রামিং, ডিজিটাল লজিক ডিজাইন, নেটওয়ার্ক ইঞ্জিনিয়ারিং (MAC ও IPv6 অ্যাড্রেস), CSS কালার কোড, Unix ফাইল-পারমিশন মাস্ক এবং ডিবাগিংয়ের সময় মেমরি-অ্যাড্রেস পর্যবেক্ষণের একটি মৌলিক প্রক্রিয়া।
পুনরাবৃত্তিমূলক ভাগ: N-কে টার্গেট রেডিক্স R দ্বারা ভাগ করুন, ভাগশেষ লিখে রাখুন, ভাগফল ০ না হওয়া পর্যন্ত এটি চালিয়ে যান, তারপর ভাগশেষগুলো বিপরীত ক্রমে সাজান। দশমিক সংখ্যা ২৫৫-কে বাইনারি, অক্টাল এবং হেক্সাডেসিমেলে রূপান্তর করুন। বাইনারির জন্য (R = 2): ২৫৫ ÷ ২ = ১২৭ ভাগশেষ ১, ১২৭ ÷ ২ = ৬৩ R ১, ৬৩ ÷ ২ = ৩১ R ১, ৩১ ÷ ২ = ১৫ R ১, ১৫ ÷ ২ = ৭ R ১, ৭ ÷ ২ = ৩ R ১, ৩ ÷ ২ = ১ R ১, ১ ÷ ২ = ০ R ১। নিচ থেকে উপরে ভাগশেষগুলো পড়লে: 11111111। অক্টালের জন্য (R = 8): ২৫৫ ÷ ৮ = ৩১ R ৭, ৩১ ÷ ৮ = ৩ R ৭, ৩ ÷ ৮ = ০ R ৩ → 377। হেক্সাডেসিমেলের জন্য (R = 16): ২৫৫ ÷ ১৬ = ১৫ R ১৫ (F), ১৫ ÷ ১৬ = ০ R ১৫ (F) → FF।
ডেসিমেল ৪০৯৬ → বাইনারি ১০০০০০০০০০০০০, অক্টাল ১০০০০, হেক্স ১০০০। ৪ KiB = ৪০৯৬ বাইট বোঝার জন্য দরকারী।
ডেসিমেল ১৫ → বাইনারি ১১১১, অক্টাল ১৭, হেক্স F। প্রতিটি হেক্স অঙ্ক ঠিক চারটি বিটের সাথে ম্যাপ করে; F = ১১১১।
- ✓ ইনপুটটি একটি অ-ঋণাত্মক পূর্ণসংখ্যা (শূন্য বা ধনাত্মক পূর্ণসংখ্যা)। ভগ্নাংশ এবং ঋণাত্মক সংখ্যার জন্য বর্ধিত অ্যালগরিদম প্রয়োজন (যেমন সাইনড বাইনারির জন্য two's complement), যা এই টুলের আওতার বাইরে।
- ✓ ৯-এর উপরের হেক্সাডেসিমেল অঙ্কগুলো বড় হাতের অক্ষর A–F ব্যবহার করে প্রকাশ করা হয়, যা বেশিরভাগ প্রোগ্রামিং ল্যাঙ্গুয়েজ, RFC এবং হার্ডওয়্যার ডকুমেন্টেশনের নিয়ম অনুসরণ করে।
- ✓ আউটপুট থেকে শুরুর দিকের শূন্যগুলো বাদ দেওয়া হয়। ফিক্সড-উইডথ রিপ্রেজেন্টেশনের জন্য (যেমন ৮-বিট বা ৩২-বিট বাইনারি), ফলাফলটি ম্যানুয়ালি কাঙ্ক্ষিত উইডথ পর্যন্ত পূরণ করুন।
- ✓ ক্যালকুলেটরটি শুধুমাত্র অ-ঋণাত্মক পূর্ণসংখ্যা গ্রহণ করে। 2^53 − 1 (JavaScript-এর Number.MAX_SAFE_INTEGER) এর উপরের মানগুলো গ্রহণ করা হয় না যাতে প্রদর্শিত অঙ্কগুলো সঠিক থাকে।
- প্রতিটি হেক্সাডেসিমেল অঙ্ক ঠিক চারটি বাইনারি ডিজিট (বিট) এবং প্রতিটি অক্টাল অঙ্ক ঠিক তিনটি বিটের সাথে মিলে যায়। একবার ১৬টি নিবল প্যাটার্ন মুখস্থ করে ফেললে এই সম্পর্কটি হেক্স, অক্টাল এবং বাইনারির মধ্যে দ্রুত মানসিক রূপান্তর করতে সাহায্য করে।
- মুখস্থ রাখার মতো কিছু সাধারণ মান: 0xFF = ২৫৫, 0x100 = ২৫৬, 0xFFFF = ৬৫৫৩৫, 0xFFFFFFFF = ৪,২৯৪,৯৬৭,২৯৫ (সর্বোচ্চ আনসাইনড ৩২-বিট পূর্ণসংখ্যা)।
- Unix ফাইল পারমিশন অক্টাল ব্যবহার করে: 755 মানে rwxr-xr-x (মালিকের পড়া/লেখা/চালানো, গ্রুপ এবং অন্যদের পড়া/চালানো)। প্রতিটি অক্টাল ডিজিট তিনটি পারমিশন বিট এনকোড করে।
- CSS হেক্স কালার কোড হলো তিনটি সংযুক্ত হেক্সাডেসিমেল বাইট মান যা লাল, সবুজ এবং নীল চ্যানেলকে উপস্থাপন করে — যেমন, #FF8800 হলো 255 লাল, 136 সবুজ, 0 নীল।
- পজিশনাল নিউমেরাল সিস্টেম থিওরি — Knuth, D. E., The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Section 4.1
- IEEE 754-2019 — স্ট্যান্ডার্ড ফর ফ্লোটিং-পয়েন্ট অ্যারিথমেটিক (ইনটিজার রিপ্রেজেন্টেশন কনটেক্সট)
- RFC 4291 — IP ভার্সন 6 অ্যাড্রেসিং আর্কিটেকচার (IPv6-এর জন্য হেক্সাডেসিমেল নোটেশন)
কম্পিউটিংয়ে সংখ্যা পদ্ধতি বোঝা
প্রতিটি পজিশনাল সংখ্যা পদ্ধতি একটি বেস (রেডিক্স) ব্যবহার করে এবং প্রতিটি অঙ্ককে তার অবস্থানের ভিত্তিতে একটি ওজন প্রদান করে। ডেসিমেল (বেস ১০) পদ্ধতিতে, একদম ডানের অঙ্কটি এককের ঘর, পরেরটি দশকের এবং তারপর শতকের। বাইনারি (বেস ২) শুধুমাত্র ০ এবং ১ ব্যবহার করে, যা সরাসরি ট্রানজিস্টরের অন/অফ অবস্থার সাথে সম্পর্কিত। অক্টাল (বেস ৮) প্রতি অঙ্কে তিনটি বিট গ্রুপ করে এবং হেক্সাডেসিমেল (বেস ১৬) প্রতি অঙ্কে চারটি বিট গ্রুপ করে, যেখানে ১০–১৫ মানের জন্য A–F ব্যবহার করা হয়। এক বেস থেকে অন্য বেসে রূপান্তরের জন্য বারবার ভাগ করার পদ্ধতি ব্যবহার করা হয়: সংখ্যাটিকে টার্গেট রেডিক্স দিয়ে ভাগ করুন, ভাগশেষ রেকর্ড করুন, ভাগফল শূন্য না হওয়া পর্যন্ত পুনরাবৃত্তি করুন, তারপর ভাগশেষগুলো বিপরীত ক্রমে পড়ুন। এই অ্যালগরিদমটি প্রোগ্রামিংয়ে সমস্ত বেস রূপান্তরের ভিত্তি।
বেস রূপান্তরের জন্য ডেভেলপারদের ব্যবহারিক ক্ষেত্র
মেমরি ডাম্প পরিদর্শন, বিটওয়াইজ অপারেশন ডিবাগিং, ফাইল পারমিশন ব্যাখ্যা এবং কালার কোড নিয়ে কাজ করার সময় ডেভেলপাররা বেস রূপান্তর ব্যবহার করেন। ইউনিক্স ফাইল পারমিশন (যেমন 755) অক্টাল পদ্ধতিতে থাকে: প্রতিটি অঙ্ক মালিক, গ্রুপ এবং অন্যদের জন্য পড়া/লেখা/চালানোর ক্ষমতা এনকোড করে। CSS হেক্স কালার যেমন #FF8800 হলো হেক্সাডেসিমেলে তিনটি সংযুক্ত বাইট। IPv6 অ্যাড্রেস হেক্সে লেখা হয়। পঠনযোগ্যতার জন্য বিটমাস্ক এবং ফ্ল্যাগগুলো প্রায়ই হেক্সে প্রকাশ করা হয় (বাইট মাস্কের জন্য 0xFF, ১৬ বিটের জন্য 0xFFFF)। লো-লেভেল কোড বা নেটওয়ার্ক প্রোটোকল ডিবাগ করার সময়, ডেসিমেল, হেক্স এবং বাইনারির মধ্যে রূপান্তর করলে অন্তর্নিহিত বিট প্যাটার্নগুলো দ্রুত বোঝা যায়।
বেস কনভার্সন ক্যালকুলেটর FAQs
কম্পিউটিংয়ে কেন বাইনারি, অক্টাল এবং হেক্সাডেসিমেল ব্যবহার করা হয়?
বাইনারি সরাসরি ট্রানজিস্টরের অন/অফ অবস্থার সাথে মানানসই, যা একে হার্ডওয়্যারের নিজস্ব ভাষা করে তোলে। অক্টাল এবং হেক্সাডেসিমেল হলো বাইনারির সংক্ষিপ্ত রূপ — একটি হেক্স ডিজিট ঠিক চারটি বিট এবং একটি অক্টাল ডিজিট তিনটি বিট উপস্থাপন করে — তাই প্রোগ্রামাররা দীর্ঘ বাইনারি স্ট্রিংয়ের চেয়ে সংক্ষেপে অ্যাড্রেস, বিটমাস্ক এবং কালার কোড প্রকাশ করতে এগুলো ব্যবহার করেন।
আমি কীভাবে অন্য দিকে রূপান্তর করব (যেমন, হেক্স থেকে ডেসিমেল)?
প্রতিটি ডিজিটকে তার বেসের পজিশনাল পাওয়ার দিয়ে গুণ করুন এবং ফলাফলগুলো যোগ করুন। উদাহরণস্বরূপ, হেক্স 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = ডেসিমেল 419।
খুব বড় সংখ্যার ক্ষেত্রে কী ঘটে?
ক্যালকুলেটরটি শুধুমাত্র JavaScript-এর নিরাপদ ইনটিজার সীমা পর্যন্ত মান গ্রহণ করে: 2^53 − 1 (9,007,199,254,740,991)। এর চেয়ে বড় সংখ্যাগুলো গ্রহণ করা হয় না কারণ ব্রাউজারে সেগুলো লিস্ট-সিগনিফিক্যান্ট ডিজিট হারাতে পারে।
আমি কি ঋণাত্মক সংখ্যা বা ভগ্নাংশ রূপান্তর করতে পারি?
এই টুলটি অ-ঋণাত্মক পূর্ণসংখ্যা নিয়ে কাজ করে। কম্পিউটিংয়ে ঋণাত্মক পূর্ণসংখ্যা সাধারণত একটি নির্দিষ্ট বিট উইডথ-এ two's complement ব্যবহার করে উপস্থাপন করা হয় এবং ভগ্নাংশ মান IEEE 754 ফ্লোটিং-পয়েন্ট এনকোডিং ব্যবহার করে — এই দুটির জন্যই অতিরিক্ত প্যারামিটার প্রয়োজন যা এই ক্যালকুলেটর সংগ্রহ করে না।
কেন কোডে 0x প্রিফিক্স দেখা যায় কিন্তু আউটপুটে নয়?
0x প্রিফিক্স (এবং বাইনারির জন্য 0b, অক্টালের জন্য 0o) হলো একটি ভাষা-নির্দিষ্ট লিটারেল সিনট্যাক্স যা কম্পাইলার বা ইন্টারপ্রেটারকে বলে দেয় কোন বেস আশা করতে হবে। ক্যালকুলেটরটি কোনো প্রিফিক্স ছাড়াই মূল ডিজিট স্ট্রিং আউটপুট দেয় যাতে এটি যেকোনো ক্ষেত্রে ব্যবহার করা যায়।