arrow_backফিল্ড নোটে ফিরুন
COMPUTER SCIENCE প্রকাশিত 5 Aug 2026

বাইনারি, হেক্স এবং ডেটা ইউনিট সম্পর্কে বিস্তারিত আলোচনা

প্রোগ্রামিং, নেটওয়ার্কিং এবং ফরেনসিক্স কাজে ব্যবহৃত বাইনারি, হেক্সাডেসিমাল এবং ডেটা ইউনিট পরিপাটি সম্পর্কে একটি ব্যবহারিক শব্দকোষ।

আপনি যে প্রতিটি বাইট হেক্স এডিটরে পরীক্ষা করেন, যে প্রতিটি সাবনেট মাস্ক গণনা করেন, যে প্রতিটি ফাইল সাইজ একটি টুল রিপোর্ট করে তা সংখ্যা পদ্ধতি এবং ইউনিট পরিপাটির একটি ছোট সেটের উপর নির্ভর করে। এগুলি ভুল করলে আপনি একটি বাফার সাইজ ভুল অনুমান করবেন, একটি মেমরি ডাম্প ভুল পড়বেন, অথবা একজন সহকর্মীর সাথে 1 KB 1000 বাইট নাকি 1024 বাইট তা নিয়ে ঝগড়া করবেন।

বাইনারি: প্রতিটি কম্পিউটার যে সংখ্যা পদ্ধতি প্রকৃতপক্ষে ব্যবহার করে

বাইনারি হল ভিত্তি 2 — শুধুমাত্র 0 এবং 1। একটি একক বাইনারি অঙ্ক হল একটি বিট। 8টি বিট একসাথে গ্রুপ করুন এবং আপনি একটি বাইট পান, যা 256টি স্বতন্ত্র মান প্রতিনিধিত্ব করতে পারে (0 থেকে 255 আনসাইনড, বা -128 থেকে 127 সাইনড টু'স কমপ্লিমেন্ট)।

যখন আপনি 01001000 দেখেন তা দশমিকে 72, যা 'H' এর জন্য ASCII কোড। হাতে রূপান্তর করা শুধুমাত্র সর্বাধিক ডানের বিট থেকে 2-এর শক্তি যোগ করা: 2^6 + 2^3 = 64 + 8 = 72। python3 -c "print(bin(72))" বা একটি ফাইলে xxd এর মতো টুলগুলি এটি তাৎক্ষণিকভাবে করে, কিন্তু গণিত বোঝা গুরুত্বপূর্ণ যখন আপনি একটি বিটমাস্ক রিভার্স ইঞ্জিনিয়ার করছেন অথবা TCP হেডারে ফ্ল্যাগ মান নিয়ে কাজ করছেন।

হেক্সাডেসিমাল: বাইনারির সংক্ষিপ্ত রূপ

হেক্স হল ভিত্তি 16, 0-9 এবং A-F ব্যবহার করে। এটি বিদ্যমান কারণ বাইনারি বড় পরিসরে অপঠনীয় এবং দশমিক বাইট সীমানায় পরিষ্কারভাবে ম্যাপ করে না। একটি হেক্স অঙ্ক ঠিক 4 বিট প্রতিনিধিত্ব করে, তাই দুটি হেক্স অঙ্ক একটি সম্পূর্ণ বাইট প্রতিনিধিত্ব করে — 0x00 থেকে 0xFF সমস্ত 256 বাইট মান কোনো নষ্ট স্থান ছাড়াই কভার করে।

এই কারণেই হেক্স ডাম্পগুলি xxd, hexdump -C বা একটি ডিসঅ্যাসেম্বলারের মেমরি ভিউ-এর মতো টুলগুলিতে ডিফল্ট। যখন আপনি একটি ফাইলের শুরুতে 0x4D 0x5A দেখেন, সেটি একটি Windows PE এক্সিকিউটেবল সনাক্ত করে MZ হেডার। মেমরি ঠিকানা, রঙ কোড (#FF5733), MAC ঠিকানা এবং IPv6 ঠিকানা সমস্ত প্রচলিতভাবে হেক্সে লেখা হয় কারণ এটি অন্তর্নিহিত বাইট এবং নিবল কাঠামোতে পরিষ্কারভাবে ম্যাপ করে।

হেক্সকে দশমিকে রূপান্তর করা: 0x4D = (4 × 16) + 13 = 77। Python-এ, int('4D', 16) আপনাকে হাত ছাড়াই সেখানে নিয়ে যায়, এবং hex(77) অন্যদিকে যায়।

বাইনারি, দশমিক এবং হেক্স প্রকৃতপক্ষে অনুশীলনে কোথায় মিলিত হয়

IP ঠিকানাগুলি তিনটির একটি ভাল উদাহরণ যেখানে সংঘর্ষ ঘটে। 192.168.1.1 এর মতো একটি IPv4 ঠিকানা সত্যিই চারটি বাইট: বাইনারিতে 11000000.10101000.00000001.00000001, বা হেক্সে C0.A8.01.01। সাবনেটিং ম্যাথ — দুটি ঠিকানা একই নেটওয়ার্কে আছে কি না তা নির্ধারণ করা — মৌলিকভাবে একটি সাবনেট মাস্কের বিরুদ্ধে বাইনারি AND অপারেশন, যদিও আমরা সুবিধার জন্য সবকিছু ডটেড ডেসিমালে লিখি।

ডিজিটাল ফরেনসিক্স এবং ম্যালওয়্যার বিশ্লেষণে, আপনি ক্রমাগত এই উপস্থাপনাগুলির মধ্যে অনুবাদ করছেন। একটি ডিসঅ্যাসেম্বলার হেক্সে অপকোড দেখায়, কিন্তু CPU কাঁচা বাইনারি সম্পাদন করে, এবং রেজিস্টার মানগুলি প্রসঙ্গের উপর নির্ভর করে দশমিক অফসেট বা ASCII স্ট্রিং হিসাবে ব্যাখ্যা করা হয়। জেনে রাখা যে 0x41 সংখ্যা 65 এবং ASCII অক্ষর 'A' উভয়ই এই ধরনের প্যাটার্ন স্বীকৃতি যা ম্যানুয়াল বিশ্লেষণকে উল্লেখযোগ্যভাবে ত্বরান্বিত করে।

ডেটা ইউনিট: 1000 বনাম 1024 সমস্যা

এখানেই মানুষ প্রকৃতপক্ষে আহত হয়। স্টোরেজ নির্মাতা, ফাইলসিস্টেম এবং অপারেটিং সিস্টেম সবসময় একমত নয় যে

AI সহায়তায় লেখা, পর্যালোচনা ও প্রকাশ করেছেন Michal Pilch (CISSP), Korra Studio।

আরও এগোতে প্রস্তুত?

এটি Korra Studio-র নলেজ বেস থেকে একটি নোট — প্ল্যাটফর্মটি প্রতিটি বিষয়কে ১-এর-সাথে-১ মেন্টরিংয়ের সাথে জুড়ে দেয়।

বিনামূল্যে শুরু করুনarrow_forward