برای مطالعه‌ی بخش‌های اول و دوم مطلب می‌توانید از لینک‌ ۱ و لینک ۲ استفاده کنید؛ یکی از بزرگترین ضعف‌های اعداد باینری، طولانی بودن بیش از حد رشته‌‌ی باینری مربوط به اعداد دهدهی بزرگ است. در سیستم‌های دیجیتالی عظیم مثل کامپیوترها، استفاده از اعداد باینری 8، 16 و حتی 32 رقمی بسیار رایج است؛ اما خواندن و نوشتن تعداد زیادی عدد باینری 16 یا 32 بیتی، بدون پیش آمدن هیچ خطایی عملاً غیرممکن خواهد بود. یکی از روش‌های مرسوم برای غلبه بر این مشکل، دسته‌بندی اعداد باینری در گروه‌ها یا مجموعه‌های چهار بیتی و در نهایت استفاده از اعداد هگزادسیمال (Hexadecimal) است.

فیلم آموزش اعداد هگزادسیمال — به زبان ساده (+ دانلود فیلم آموزش گام به گام)

دانلود ویدیو

سیستم شماره‌گذاری هگزادسیمال و یا به اختصار «هگز» (Hex)، همان دستگاه اعداد مبنای 16 است. این سیستم شماره‌گذاری به علت فرمت تقریباً فشرده‌ای که دارد، گزینه‌ی بسیار مناسبی برای نمایش رشته‌های باینری طولانی به شمار می‌رود. همچنین درک آن نسبت به رشته‌های باینری متشکل از صفر و یک‌ها آسان‌تر است.

رشته‌هایی از اعداد هگزادسیمال

از آن‌جایی که اعداد هگزادسیمال اعدادی در مبنای 16 هستند، برای نمایش این اعداد می‌توان از 16 رقم متفاوت و از اعداد 0 تا 15 استفاده کرد. واضح است که اعداد دهدهی 10، 11، 12، 13، 14 و 15 دو رقم دارند. این موضوع در حالت عادی مشکلی ایجاد نمی‌کند، اما به طور مثال اگر عدد 10 را در مبنای 16 بنویسیم، نمی‌توان تشخیص داد که این عدد 10 دهدهی است یا 2 باینری. برای حل این مشکل مقادیر ده، یازده، دوازده، سیزده، چهارده و پانزده را به ترتیب با حروف بزرگ انگلیسی E، D، C، B، A و F نمایش می‌دهیم.

پس برای نمایش معادل اعداد باینری یا دهدهی در سیستم شماره‌گذاری هگزادسیمال، از ارقام 0 تا 9 و حروف بزرگ A تا F استفاده می‌شود. همانند دستگاه اعداد باینری و دهدهی، در اعداد هگزادسیمال نیز سمت راست‌ترین رقم، کم ارزش‌ترین رقم است.

همانگونه که قبلاً اشاره شد، استفاده از رشته‌های باینری طولانی بسیار دشوار است. اما با دسته‌بندی این اعداد باینری بزرگ به گروه‌های کوچکتر و با تعداد ارقام مساوی، فهم و نوشتن آنها راحت‌تر خواهد بود. به عنوان مثال، کار کردن با 11112  1100  0101  1101 به جای 11010101110011112 بسیار آسان‌تر است.

همانند دستگاه اعداد دهدهی که برای درک آسان‌تر اعداد چند میلیونی و یا چند میلیاردی، از سمت راست ارقام را سه تا سه تا جدا کرده و گروه‌بندی می‌کنند، در سیستم‌های دیجیتالی نیز از روش مشابهی استفاده می‌کنیم.

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

از اولین بخش آموزش‌های مربوط به اعداد باینری به یاد داریم که هر دسته‌ی 4 بیتی یک «نیبل» نامیده می‌شود. همچنین می‌دانیم به منظور تولید یک عدد هگزادسیمال به حداقل 4 بیت نیازمندیم، لذا هر رقم هگز را می‌توان به عنوان یک نیبل و یا نصف بایت فرض کرد. به همین شکل برای تولید یک بایت کامل به دو رقم هگزادسیمال از 00 تا FF نیاز است.

به دلیل اینکه عدد 16 در دستگاه دهدهی توان چهارم عدد 2  است (به عبارتی 24)، ارتباط مستقیمی بین عدد 2 و 16 وجود دارد که در نتیجه یک رقم هگز ارزشی معادل چهار رقم باینری دارد. در فرمول کلی نمایش دستگاه‌های اعداد، مقدار q مربوط به دستگاه اعداد هگزادسیمال 16 است.

به علت وجود این رابطه، می‌توان چهار رقم باینری را در قالب یک رقم هگزادسیمال نشان داد. این موضوع تبدیل اعداد باینری و هگزادسیمال به یکدیگر را بسیار آسان کرده و نمایش اعداد باینری بزرگ با تعداد ارقام بسیار کمتر و به صورت هگزادسیمال را ممکن می‌کند.

جدول زیر معادل باینری و هگزادسیمال اعداد دهدهی 0 تا 17 را نشان می‌دهد. اعداد دهدهی 0 تا 9 در دستگاه هگزادسیمال نیز به همان صورت نوشته می‌شوند. اما معادل هگزادسیمال اعداد دهدهی 10 تا 15 حروف بزرگ A تا F است.

اعداد هگزادسیمال

عدد هگزادسیمال عدد باینری 4 بیتی عدد دهدهی
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
A 1010 10
B 1011 11
C 1100 12
D 1101 13
E 1110 14
F 1111 15
(1+0) 10 0001 0000 16
(1+1) 11 0001 0001 17

به عنوان مثال با استفاده از جدول بالا، معادل هگزادسیمال عدد باینری 11112  1100  0101  1101 به صورت D5CF خواهد بود و مسلماً خواندن و نوشتن آن از عدد قبلی که رشته‌ای طولانی از 0 و 1 ها بود راحت‌تر است. همانگونه که می‌بینیم با به کار بردن دستگاه اعداد هگزادسیمال، تعداد ارقام بسیار کمتر شده و احتمال رخ دادن خطا نیز کاهش می‌یابد.

مهم‌ترین ویژگی دستگاه اعداد هگزادسیمال، داشتن 16 رقم شمارشی متفاوت از 0 تا F است. در اینگونه اعداد هر رقم وزن مخصوص به خود را دارد که با شروع از کم ارزش‌ترین رقم (LSB) در سمت راست عدد، وزن هر رقم 16 برابر رقم قبلی است. به منظور متمایز کردن اعداد هگزادسیمال از اعداد دهدهی، قبل از این اعداد نماد «#» (هَش) یا «$» (علامت دلار) قرار می‌دهیم؛ مثلاً D5CF# یا D5CF$. البته از آنجایی که اعداد هگزادسیمال مبنای 16 دارند، با نوشتن زیرنویس 16 به صورت D5CF16 نیز می‌توان آنها را نشان داد.

شمارش به‌وسیله‌ی اعداد هگزادسیمال

تا بدین جای کار می‌دانیم چگونه چهار رقم باینری را به یک عدد هگزادسیمال تبدیل کنیم. اما اگر بیشتر از چهار رقم باینری داشتیم چه باید کرد؟ شمارش هگزادسیمال بعد از حرف آخر F چگونه است؟ بدیهی‌ترین پاسخ، شروع دوباره با یک دسته‌ی چهار بیتی دیگر مانند زیر است:

0…to…9, A, B, C, D, E, F, 10… to …19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21, ….

نمایش اعداد هگزادسیمال

LSB عدد هگزادسیمال MSB
160 161 162 163 164 165 166 167 168
1 16 256 4k 65k 1M 16M 2.6G 4.3G

اگر تعداد ارقام عدد باینری 4، 8، 12، 16 و در حالت کلی مضرب صحیحی از چهار باشد، تبدیل باینری و یا معادل دهدهی آن به هگزادسیمال بسیار راحت خواهد بود. اما اگر تعداد ارقام باینری غیر از این باشد، می‌توانیم با افزودن تعداد مناسبی صفر در سمت چپ پر ارزش‌ترین بیت (MSB)، تعداد ارقام را به اندازه‌ی دلخواه افزایش دهیم.

به عنوان مثال عدد باینری 110010110110012 چهارده رقم دارد. حال می‌خواهیم معادل هگزادسیمال این عدد را بیابیم. اما تعداد ارقام باینری برای نمایش در قالب سه رقم هگزادسیمال زیاد است و البته برای نمایش در قالب چهار رقم هگزادسیمال نیز کم است. برای حل این مشکل، در سمت چپ MSB دو تا صفر اضافه می‌کنیم تا یک دسته‌ی چهاربیتی دیگر به وجود بیاید. افزودن این صفرها تغییری در مقدار عدد باینری ایجاد نمی‌کند اما از طرف دیگر یافتن معادل هگزادسیمال عدد را آسان‌تر می‌کند.

افزودن صفرهای اضافی به عدد باینری

1001 1101 0010 0011 عدد باینری
9 D 2 3 عدد هگزادسیمال

بزرگترین مزیت اعداد هگزادسیمال، فشردگی آنها به دلیل استفاده از مبنای 16 در شماره‌گذاری است. لذا معمولاً تعداد ارقام استفاده شده در یک عدد هگزادسیمال کمتر از تعداد ارقام معادل باینری یا دهدهی همان عدد است. همچنین، تبدیل اعداد باینری و هگزادسیمال به یکدیگر بسیار راحت است.

مثال شماره‌ی 1

عدد باینری 10102  1110 را به معادل هگزادسیمال آن تبدیل کنید.

عدد باینری = 111010102
از سمت راست بیت‌ها را چهارتا چهارتا جدا کنید.
1010 1110 =
معادل دهدهی هر یک از گروه‌های چهار بیتی را حساب کنید:
(دهدهی) 10 14 =
با استفاده از جدول قبل معادل هگزادسیمال اعداد را پیدا کنید:
(هگزادسیمال) A E =
و در آخر، معادل هگزادسیمال عدد باینری برابر است با:

#EA16

مثال شماره‌ی 2

معادل باینری و دهدهی عدد هگزادسیمال 3FA716 را بیابید. مبنای هر عدد را نیز به دقت مشخص کنید.

#3FA716

= 0011 1111 1010 01112

= (8192 + 4096 + 2048 + 1024 + 512 + 256 + 128 + 32 + 4 + 2 + 1)

= 16,29510

معادل باینری عدد دهدهی 16295 به صورت زیر است:

0011 1111 1010 01112

خلاصه

در سیستم‌های دیجیتالی و کامپیوتری برای افزایش خوانایی و تبدیل رشته‌های بزرگی از اعداد باینری به دسته‌های چهار رقمی، از سیستم شماره‌گذاری هگزادسیمال یا هگز استفاده می‌شود. لغت لاتین Hexadecimal به معنای شانزده است و علت این نام‌گذاری، استفاده‌ از 16 رقم مختلف 0 تا 9 و A تا F در این سیستم شماره‌گذاری است.

برای تبدیل اعداد باینری به اعداد هگزادسیمال، ابتدا باید عدد باینری را در گروه‌های چهار رقمی دسته‌بندی کنیم. این گروه‌ها می‌توانند مقداری بین 010 (00002) تا 1510 (11112) داشته باشند که همان معادل هگز 0 تا F است.

در بخش بعدی از مجموعه آموزش‌های مربوط به سیستم‌های باینری، یکی دیگر از سیستم‌های شماره‌گذاری دیجیتال به نام اعداد اُکتال یا مبنای 8 را معرفی کرده و نحوه‌ی تبدیل اعداد باینری به اُکتال و بالعکس را بررسی می‌کنیم.

اگر مطالب بالا برای شما مفید بوده است، شاید از این آموزش‌ها نیز استفاده ببرید.

^^

بر اساس رای 25 نفر

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *