سورس کد تبدیل کدهای Decimal به Hex

0

HEX مخفف Hexadecimal به معنای سیستم اعداد شانزده‌تایی (مبنای شانزده) و DEC مخفف Decimal به معنای سیستم اعداد ده‌دهی (مبنای ده) است.

اعداد در سیستم ده‌دهی همان اعدادی‌اند که به صورت معمول استفاده می کنیم. که این اعداد با ده رقم از صفر تا نه ساخته می‌شوند. مثلا:

۲۵۹۸۳ = ۲×۱۰۴ + ۵×۱۰۳ + ۹×۱۰۲ + ۸×۱۰۱ + ۳×۱۰۰

در این سیستم مثلا وقتی به یکان عدد ۹ یک واحد اضافه شود یکان را صفر می‌کنیم و یکی به قسمت دهگان اضافه می‌کنیم که می‌شود ۱۰.

اعداد در مبنای شانزده با شانزده رقم از صفر تا پانزده ساخته می‌شوند که از ده به بعد را به ترتیب با حروف A‏، B‏، C‏، D‏، E و F نشان می‌دهند. یعنی در سیستم شانزده‌تایی، شانزده رقم ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ A ‏B ‏C ‏D ‏E ‏F را داریم. مثلا:

(۱۵۶۷)۱۶ = ۱×۱۶۳ + ۵×۱۶۲ + ۶×۱۶۱ + ۷×۱۶۰

(

۲A۶۰F)۱۶ = ۲×۱۶۴ + A×۱۶۳ + ۶×۱۶۲ + ۰×۱۶۱ + F×۱۶۰

در این سیستم مثلا وقتی به یکان عدد ۹ یک واحد اضافه شود یکان می‌شود A و همینطور می‌توانیم یک واحد یک واحد اضافه کنیم تا یکان F شود. حالا اگر یک واحد دیگر اضافه کنیم یکان را صفر می‌کنیم و یک واحد به قسمت شانزده‌تایی اضافه می‌کنیم که می‌شود ۱۰؛ این عدد در مبنای ۱۶ است پس بهتر است این موضوع را مشخص کنیم: ‪(۱۰)۱۶‬ یا ۱۰hex . معادل این عدد را در مبنای ده به دست می‌آوریم:

(۱۰)۱۶ = ۱×۱۶۱ + ۰×۱۶۰ = ۱۶ + ۰ = (۱۶)۱۰

حالا برعکس عمل کنیم و عدد ۱۶ را به مبنای شانزده ببریم:

پس از تقسیمات متوالی جواب به دست می‌آید: ۱۶(۱۰)

۱۶ |۱۶
– ۱۶ ۱
۰
یا اگر بخواهیم عدد ۳۵۱ را به مبنای ۱۶ ببریم:
—————– مرحله ۱ ↓
۳۵۱ |۱۶
-۳۲ ۲۱
۳۱
-۱۶
۱۵
—————– مرحله ۲ ↓
۲۱ |۱۶
-۱۶ ۱
۵

جواب می‌شود:
۱ ۵ ۱۵ = ۱ ۵ F
حالا سورس کد زیر وظیفه ی تبدیل کدهای Desimal به Hex را دارد :

 

 

 

اشتراک:

نظرات بسته اند