{CodeGate}

تبدیل اعداد هگزادسیمال به دهدهی در جاوا

در این جلسه تیم کدگیت را با آموزش تبدیل اعداد هگزادسیمال به دهدهی در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. آشنایی با حلقه for
  2. آشنایی با متد

هگزادسیمال چیست؟

هگزادسیمال (Hexadecimal) که به اختصار هگز (Hex) نیز نامیده می‌شود، یک سامانه عدد نویسی است که بر مبنای ۱۶ بوده و برای نمایش دادن آن از ۱۶ سمبل استفاده می‌شود. اعداد ۰ تا ۹ به صورت عادی (یعنی همان اعداد ۰ تا ۹) و اعداد ۱۰ تا ۱۵ را با حروف A(ده) و B(یازده) و C(دوازده) و D(سیزده) و E(چهارده) و F(پانزده) نشان می‌دهند.

برخی از کاربران در ابتدا در ۱۶هی بودن این سیستم شک می‌کنند، چون ما از عدد ۰ استفاده می‌کنیم تا ۱۵، درواقع ما ۱۶ عدد برای انتخاب کردن خواهیم داشت مثل ۱۰هی بودن اعداد عادی که از ۰ شروع می‌شوند تا ۹.

اکثر اعدادی که روزانه از آن‌ها استفاده می‌کنیم، بر پایه ۱۰ هستند یعنی ۱۰ کاراکتر برای نشان دادنشان کافی است، از اعداد ۰ تا ۹ اسم این سیستم دسیمال است. ولی همانطور که گفته شد، در سیستم عددنویسی هگز، ما از ۱۶ کاراکتر استفاده می‌کنیم.

نکته: هگز یا همان هگزادسیمال نباید با دسیمال اشتباه گرفته شود. این دو سیستم کاملاً جدا هستند. دسیمال به معنای ۱۰ و هگز به معنای ۶ است در نتیجه هگزادسیمال میشه ۱۶.

سیستم هگزادسیمال در رشته‌های کامپیوتر و ریاضی کاربردهای فراوانی دارد. از برنامه نویسی سطح پایین گرفته تا کد رنگ صفحات HTML تا دیباگ کردن برنامه‌ها. اما نحوه نمایش هگز در سیستم‌های مختلف متفاوت است.

مثلاً در سیستم‌های یونیکس و شبه یونیکس (و بسیاری از سیستم‌های دیگر) دو کاراکتر ۰x  در اول مقدار هگز نشان داده می‌شود (مثلاً ۰xAA یا ۰x2F4) در برخی از سیستم‌ها و صفحات HTML کدهای رنگ بصورت ترکیبی از کاراکترهای هگز نشان داده می‌شود که در اول آن‌ها # قرار می‌گیرد (مثلاً #FFFFFF – #  قبل از FFFFFF است). در زبان اسمبلی پردازنده‌های اینتل، پس از مقادیر هگز یا h یا H قرار داده می‌شود (مثلاً 2h یا  A6H) و …( bytegate.ir)

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

برای تبدیل هگزادسیمال به دهدهی باید مراحل زیر را انجام دهید:

  1. عدد هگزادسیمال را بگیرید.
  2. هر عدد را در 16 به توان خانه ای که در آن است ضرب کنید.
  3. تمام حاصلضرب ها را با هم جمع کنید.

عدد 12eb را در نظر بگیرید. عدد b معادل 11 است و در خانه صفر قرار دارد پس حاصل میشود

عدد e میشود معادل 14 است و در خانه 1 قرار دارد پس حاصل میشود

به طور کلی حاصل به صورت زیر میشود:

تبدیل اعداد هگزادسیمال به دهدهی در جاوا

برای تبدیل اعداد هگزادسیمال به دهدهی در جاوا ما یک متد به نام hex2decimal مینویسیم که یک string ورودی میگیرد و خروجی int برمیگرداند. کد تبدیل اعداد هگزادسیمال به دهدهی در جاوا به صورت زیر است:

همانطور که در کد تبدیل اعداد هگزادسیمال به دهدهی در جاوا میبینید متغیری به نام digits تعریف کردیم و کاره این متغیر این است که معادل دهدهی یک عدد هگزادسیمال را به ما بدهد.(مثلا به جای a به ما 10 بدهد).سپس یک for نوشتیم به طول عدد هگزادسیمال خودمان و در آخر تمام حاصلضرب ها را با هم جمع میکنیم و در خروجی برمیگردانیم.

دلیل تعریف دو متغیر در for این است که رشته ورودی از چپ خوانده میشود ولی اعداد از راست!! به همین دلیل متغیر i اشاره به اول عدد هگزادسیمال و متغیر j اشاره به خانه واقعی آن هر عدد دارد.

تست تبدیل اعداد هگزادسیمال به دهدهی در جاوا

برای تست کدهای بالا، کد main زیر را بنویسید:

پسورد: www.codegate.ir

 

دسته : java, جاوا, حل مسائل با جاوا, ساختمان داده در جاوا

دیدگاه بگذارید

نظر شما چیست؟

مطلع کردن شما از
avatar

wpDiscuz