کامپیوتر, مهندسی 8651 بازدید

در این مطلب، روش نوشتن برنامه تبدیل عدد از مبنای ۱۰ به ۲ تشریح می‌شود. در واقع، هدف نوشتن برنامه‌ای است که یک عدد (در مبنای ۱۰) را از ورودی دریافت کرده و سپس، آن را به مبنای ۲ ببرد. برای انجام این کار، روش‌های گوناگونی وجود دارد. در ادامه، روش‌های تبدیل عدد از مبنای ۱۰ به مبنای ۲ (دستگاه اعداد دودویی) مورد بررسی قرار خواهند گرفت. همچنین، کد پیاده‌سازی این روش‌ها در زبان‌های برنامه‌نویسی گوناگون شامل ++C ،C، «جاوا» (Java)، «پایتون» (Python) و «سی‌شارپ» (#C) ارائه شده است.

برنامه تبدیل عدد از مبنای ۱۰ به ۲ با روش تکرار شونده

برای هر عددی، می‌توان بررسی کرد که iاُمین بیت آن صفر (خاموش) یا یک (روشن) است. این کار، با AND بیتی $$2^i$$ (دو به توان i) انجام می‌شود.

  1. عدد «NUM» از ورودی دریافت می‌شود. هدف بررسی این است که بیت صفرم آن، روشن (۱) یا خاموش (۰) است.
    • bit = 2 ^ 0 (هدف بررسی بیت صفرم است، بنابراین i = 0)
    • اگر NUM & bit == 1 باشد، بدین معنا است که 0اُمین بیت روشن و در غیر این صورت، 0اُمین بیت خاموش است.
  2. به طور مشابه، اگر هدف بررسی این است که آیا ۵اُمین بیت روشن یا خاموش است، اعمال زیر باید انجام شود.
    • bit = 2 ^ 5 (هدف بررسی بیت پنجم است، بنابراین i=5)
    • اگر NUM & bit == 1 باشد، بدین معنا است که 5اُمین بیت روشن (۱) و در غیر این صورت،‌ به معنای خاموش بودن (۰) بیت مذکور است.

«عدد صحیح بدون علامت» (Unsigned Integer) سی و دو بیتی (۳۲ بیتی) که حاوی ۳۱-۰ بیت است، از ورودی دریافت می‌شود. برای چاپ کردن ارائه دودویی عدد صحیح بدون علامت، کار از از ۳۱اُمین بیت آغاز و بررسی می‌شود که بیت مذکور خاموش یا روشن است. اگر این بیت روشن باشد، «۱» و در غیر این صورت، صفر (۰) چاپ می‌شود. اکنون، بررسی می‌شود که بیت ۳۰اُم روشن یا خاموش است. اگر این بیت روشن باشد مقدار ۱ و در غیر این صورت، ۰ در خروجی چاپ می‌شود. این کار برای همه بیت‌ها از ۳۱ تا ۰ باید انجام  شود. در نهایت، ارائه دودویی عدد در خروجی دریافت خواهد شد.

برنامه تبدیل عدد از مبنای ۱۰ به ۲ با روش بازگشتی

در ادامه، الگوریتم بازگشتی (Recursive Method) تبدیل عدد NUM از مبنای ۱۰ به مبنای ۲ (دستگاه دودویی) ارائه شده است.

  1. اگر NUM > 1
    • NUM را در پشته قرار بده
    • به صورت بازگشتی، تابع با NUM / 2 را فراخوانی کن.
  2. و
    • NUM را از پشته حذف (POP) کن، آن را بر دو تقسیم و باقی‌مانده تقسیم را چاپ کن.

برنامه بازگشتی تبدیل عدد از مبنای ۱۰ به مبنای ۲ در ++C

برنامه بازگشتی تبدیل عدد از مبنای ۱۰ به مبنای ۲ در C

برنامه بازگشتی تبدیل عدد از مبنای ۱۰ به مبنای ۲ در جاوا

برنامه بازگشتی تبدیل عدد از مبنای ۱۰ به مبنای ۲ در پایتون ۳

برنامه بازگشتی تبدیل عدد از مبنای ۱۰ به مبنای ۲ در #C

برنامه بازگشتی تبدیل عدد از مبنای ۱۰ به مبنای ۲ در PHP

خروجی

در زیر، خروجی قطعه کدهای بالا برای اعداد ۷ (۱۱۱) و ۴ (۱۰۰) ارائه شده است.

111
100

تبدیل عدد از مبنای ۱۰ به ۲ با روش بازگشتی و عملگر بیتی

مراحل لازم برای تبدیل یک عدد اعشاری به عدد دودویی، در ادامه بیان شده است.

  1. n > 0 را بررسی کن.
  2. عدد را یک بیت به سمت راست شیفت بده و تابع بازگشتی را فراخوانی کن.
  3. بیت‌های عدد را چاپ کن.

برنامه تبدیل عدد از مبنای ۱۰ به مبنای ۲ در ++C

برنامه تبدیل عدد از مبنای ۱۰ به مبنای ۲ در جاوا

برنامه تبدیل عدد از مبنای ۱۰ به مبنای ۲ در پایتون ۳

برنامه تبدیل عدد از مبنای ۱۰ به مبنای ۲ در #C

برنامه تبدیل عدد از مبنای ۱۰ به مبنای ۲ در PHP

خروجی

خروجی قطعه کدهای بالا، برای اعداد ۱۳۱ (10000011) و ۳ (11)، در ادامه ارائه شده است.

10000011
11

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

^^

الهام حصارکی (+)

«الهام حصارکی»، فارغ‌التحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستم‌های اطلاعات مدیریت است. او در زمینه هوش مصنوعی و داده‌کاوی، به ویژه تحلیل شبکه‌های اجتماعی، فعالیت می‌کند.

بر اساس رای 6 نفر

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

نظر شما چیست؟

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