هشت‌هشتی

هشت‌هشتی

آسان

دستورالعمل‌ها

یک عدد «هشت‌هشتی» را که به‌صورت رشته نشان داده می‌شود (مثلاً «1735263»)، با تکیه بر اصول اولیه به معادل «دهدهی» آن تبدیل کنید (یعنی نه، برای انجام این تبدیل نمی‌توانید از کتابخانه‌های داخلی یا بیرونی استفاده کنید).

تبدیل هشت‌هشتی به دهدهی را پیاده‌سازی کنید. برنامه‌ی شما باید با گرفتن یک رشته‌ی ورودی هشت‌هشتی، خروجی دهدهی تولید کند.

نکته

  • تبدیل را خودتان پیاده‌سازی کنید. آن را به ابزار دیگری واگذار نکنید.
  • ورودی نامعتبر را مانند صفر در مبنای هشت در نظر بگیرید.

درباره‌ی هشت‌هشتی (مبنای ۸)

دهدهی یک سیستم با مبنای ۱۰ است.

عدد ۲۳۳ در نمایش مبنای ۱۰ را می‌توان به‌صورت ترکیب خطی توان‌های ۱۰ درک کرد:

  • رقم سمت راست در ۱۰^۰ = ۱ ضرب می‌شود
  • رقم بعدی در ۱۰^۱ = ۱۰ ضرب می‌شود
  • ...
  • رقم nاُم در ۱۰^(n-۱) ضرب می‌شود.
  • همه‌ی این مقادیر با هم جمع می‌شوند.

پس:

   233 # decimal
 = 2*10^2 + 3*10^1 + 3*10^0
 = 2*100  + 3*10   + 3*1

هشت‌هشتی مشابه است، اما به‌جای توان‌های ۱۰ از توان‌های ۸ استفاده می‌کند.

پس:

   233 # octal
 = 2*8^2 + 3*8^1 + 3*8^0
 = 2*64  + 3*8   + 3*1
 = 128   + 24    + 3
 = 155
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Java Exercism

آماده‌اید هشت‌هشتی را شروع کنید؟

در Exercism ثبت‌نام کنید تا Java را همراه با 26 مفهوم158 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.