هگزا دسیمال چیست؟ – توضیح به زبان ساده

هگزا دسیمال یک سیستم عددی بر پایه 16 است که برای محاسبات کامپیوتری و کار کردن با داده ها مورد استفاده قرار میگیرد. یکی از پیچیدگی های کار کردن با سیستم باینری (پایه 2)، به جهت اینکه فقط با نماد های 0 و 1 اعداد را نمایش می دهد، طولانی شدن ارقام برای اعداد بزرگ است. برای غلبه بر این مشکل سیستم عددی Hexadecimal که متشکل از 16 کاراکتر 0 تا 9 و A تا F است معرفی شد.
آنچه مطالعه خواهید کرد:
سیستم های عددی
همانطور که در زبان های مختلف نوشتار های متفاوتی برای یک کلمه خاص مانند «عشق> وجود دارد و در نتیجه شکل نمایش آن کلمه بستگی به حروف الفبای آن زبان دارد، یک عدد خاص در دنیای دیجیتال هم می تواند در سیستم های عددی مختلف، نمایش های متفاوتی داشته باشد.
رایج ترین سیستم عددی، Decimal System است که بر پایه عدد 10 کار می کند. یعنی همان سیستم ده انگشتی که در دنیای واقعی برای حساب و کتاب های معمول از آن استفاده میکنیم.
پس اگر این سیستم را شرح دهیم، مانند شکل زیر هر رقم اعداد دسیمال(دهدهی) توانی از 10 را دارد که از چپ به راست هر رقم 10 برابر رقم قبلی خود ارزش دارد:

ساده است!
دقیقاً بنابر همین ساختار سیستم های عددی دیگر مثل باینری(پایه 2) و هگزا دسیمال(پایه 16) جهت نمایش اعداد به فرمت های دیگر وجود دارند.
سیستم عددی باینری (Binary)
الفبای این سیستم عددی 2 حرف دارد: 0 و 1. در نتیجه سیستم عددی باینری بر پایه 2 است.یعنی هر عددی جهت نمایش در این سیستم با توالی از 0 و 1 نشان داده می شود.
به ترتیب مشابه که در سیستم دسیمال دیدیم، ارقام اعداد باینری از چپ به راست، توانی از عدد 2 هستند که ارزش هر بیت(رقم) در ارقام باینری، 2 برابر بیت قبلی خود است. مثال زیر نمایش دهنده عدد 313 در سیستم باینری است:

هر بیت(رقم) در اعداد باینری می تواند 0 یا 1 باشد. پس برای شمارش این عدد و تبدیل آن به دسیمال کافیست تمام ارقام 1 را ضربدر ارزش توانی آنها کرده و باهم جمع کنیم.
می بینیم که مقدار عددیِ ما هرچقدر بزرگتر شود، برای نمایش آن در سیستم باینری باید تعداد ارقام بیشتری را مصرف کرد. این کار هم خوانایی عدد را سخت تر می کند و هم محاسبات را بیشتر مستعد خطا می کند.
پس به سیستمی نیاز داریم که فرمت ساده تری ارائه دهد و همچنین جهت نمایش اعداد بزرگتر ارقام کمتری مصرف کند.
سیستم عددی هگزا دسیمال (Hexadecimal)
سیستم عددی Hexadecimal بر پایه 16 است. یعنی الفبای آن متشکل از 16 کاراکتر مختلف است و اعداد با ترکیبی از این 16 کاراکتر نمایش داده می شوند.

همانطور که در جدول مشاهده می کنید، ارقام 0 تا 9 در سیستم هگزا دسیمال مشابه سیستم دسیمال است ولی برای جلوگیری از تداخل با این فرمت، برای نمایش اعداد 10 تا 15 از حروف A تا F استفاده می شود.
حالا تفاوت نمایش یک عدد ثابت مثل 313 را در دو سیستم معرفی شده ببینیم:

هر رقم در سیستم هگزا دسیمال 16 حالت مختلف می تواند داشته باشد(0 تا F) که به ازای افزایش هر رقم به این سیستم، بزرگترین عددی می توان نمایش داد را 16 برابر افزایش می دهد. مشابه سیستم های معرفی شده، ارقام این سیستم عددی هم از چپ به راست هر کدام توانی از 16 هستند.
تبدیل باینری به هگزا دسیمال
اگر یک عدد باینری را به گروه های 4 بیتی دسته بندی کنیم، هر دسته می تواند مقداری بین 0000 باینری (صفر) تا 1111 باینری (پانزده) داشته باشد، که حداکثر 16 حالت ممکن را می تواند ایجاد کند. پس هر رقم هگزا دسیمال متناظراً همان تعداد اعدادی را می تواند نمایش دهد که یک دسته 4 بیتی در باینری می تواند.
حال برای تبدیل یک عدد از فرمت باینری به هگزا دسیمال، کافیست از چپ به راست بیت ها را 4 تا 4 تا جدا کنیم و معادل عددی هر کدام را به فرمت هگزا دسیمال یادداشت کرده، سپس در کنار هم نمایش دهیم.
دقت شود که اگر تعداد بیت های دسته آخر (راست ترین دسته) کمتر از 4 بود، به همان تعداد 0 سمت چپ عدد اضافه کنید.

چرا از سیستم دسیمال در محاسبات کامپیوتر استفاده نمی شود؟
این جبر به دلیل محدودیت فیزیکی در عملکرد کامپیوتر ها است. هر کاری که کامپیوتر انجام می دهد تحت عملکرد چیزی به اسم میکرو ترانزیستور قرار میگیرد. سوئیچی که در نهایت می تواند یکی از دو حالت روشن(1) یا خاموش(0) باشد که این کار را می توان با ارسال یک بار الکتریکی ضعیف به آن انجام داد.
پس اگر مبنای شمارش اعداد در سیستم های کامپیوتری همین روشن و خاموش بودن سوئیچ ها باشد هر سوئیچ(لامپ) را می توانیم بعنوان یک بیت از اعداد باینری در نظر بگیریم. پس هر ترانزیستور را یک بیت یا Binary Digit مینامیم. بدین گونه هر 8 بیت برابر است با 1 بایت که حداکثر تا عدد 255 را می توان با آن نمایش داد.
باینری چگونه به حروف خوانا در صفحه نمایش در می آید؟
حال سوال اساسی همین است که چگونه توالی از داده های بی معنی 0 و 1 تبدیل به کلمات، تصاویر و … روی صفحه نمایشگر می شوند؟ در جواب، این کار با استفاده از جدول استاندارد اسکی صورت می گیرد.
گفتیم در هر بایت حافظه 256 حالت از عدد را می شود ذخیره کرد. اسکی(ASCII) به هر کاراکتر یک بایت فضا اختصاص می دهد که هر کاراکتر یکی از همین ترکیبات عددی را در حافظه می گیرد. پس اسکی 255 کاراکتر دارد. مثلاً حرف A در جدول اسکی برابر عدد 65 است که در حافظه بصورت باینری 01000001 ذخیره می شود. همین حالت از ارقام باینری در حافظه به معنی روشن و خاموش بودن ترانزیستور های کوچک است.

شناسه های هگزا دسیمال
اعداد هگزا دسیمال جهت تمایز با دیگر عبارات درون کد با شناسه هایی تعریف می شوند که مهم ترین آنها:
- %، معمولاً در URL ها برای نمایش کاراکتر ها استفاده می شود.
- #، در وب برای شناسه های کد رنگی.
- 0x، در Unix و زبانهای برنامه نویسی C-Based.
- x\، در XML و HTML برای بیان کد های کنترل کاراکتر.
کاربرد های هگزا دسیمال
از جمله صحنه هایی که استفاده از این سیستم عددی در آن دیده میشود میتوان به موارد زیر اشاره کرد:
- نمایش کد های رنگی در HTML و CSS
- تنظیم Mac Adress شبکه های کامپیوتری
- ذخیره محتویات تصاویر
- برنامه نویسی ریز پردازنده ها
خلاصه
در سیستم های کامپیوتری، به سبب افزایش خوانایی و درک ساده تر اعداد بزرگ به نسبت نمایش اعداد در سیستم باینری، از سیستم هگزا دسیمال استفاده می شود که هر رقم آن کار 4 بیت از اعداد باینری را انجام میدهد. هگزا دسیمال بر پایه عدد 16 است. چون از 16 رقم مختلف 0 تا 9 و A تا F در این سیستم شماره گذاری استفاده می شود.
مطالب زیر را حتما مطالعه کنید
4 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
خیلی لذت بردم. کامل و عالی بود.
ممنون از توجه شما محمد عزیز.
خوشحالم که براتون مفید بوده ❤
فرانت اند عالیه. ممنون از بلاگ کاملتون
خوشحالم که دوسداشتید.