كيف يمكنني تحويل رقم من الأساس 8 إلى الأساس 10؟

StackOverflow https://stackoverflow.com/questions/2251569

  •  20-09-2019
  •  | 
  •  

سؤال

أعرف أن 75(base8) = 61(base10)، لكن لا يمكنني العثور على الصيغة اللازمة لذلك بسهولة.كيف يتم التحويل من الأساس 8 إلى الأساس 10؟

هل كانت مفيدة؟

المحلول

لتحويل أي قاعدة للقاعدة 10 افعل ما يلي:

لكل رقم في قاعدة مختلفة تتضاعف أنه بحلول قاعدة وأرقام. على سبيل المثال:

75 (base 8) = 7*8^1 + 5*8^0 = 61 

والأشغال لأي قاعدة ... ثنائي، عرافة، سمها ما شئت فقط تفعل ذلك وسوف تتحول الى قاعدة 10.

نصائح أخرى

0 * 85 + 0 * 84 + 0 * 83 + 0 * 82 + 7 * 81 + 5 * 80 = 61

والصيغة 1 <الفرعية> 8 = 1 <الفرعية> 10 و10 <الفرعية> 8 = 8 <الفرعية> 10 . كل شيء آخر يمكن أن تستمد من ذلك.

إذا كان لديك سلسلة من قاعدة 8 أرقام تريد تحويله إلى رقم الأساس 10، معالجتها من اليسار إلى اليمين، وحفظ ما مجموعه يمكنك تهيئة عند مستوى الصفر. لكل رقم س، تعيين الإجمالي إلى 8 المجموع * + س. بعد معالجة الرقم الأخير، فإن مجموع تكون قيمة عشرة قاعدة تسلسل قاعدة 8.

و75 في قاعدة 8 = 5 * 8 ^ 0 + 7 * 8 ^ 1 = 5 + 56 = 61

في عام، لتحويل عدد a_1a_2a_3 ... a_n من ك قاعدة للقاعدة 10، استخدم الصيغة:

وa_n * ك ^ 0 + A_ (ن 1) * ك ^ 1 + ... + A_1 * ك ^ (ن 1).

ونظرا لهذا هو موقع برمجة:

int oct_to_dec = 075;
printf("%d",oct_to_dec);

137461 (base8) = 1 × 8 ^ 0 + 6 × 8 ^ 1 + 4 × 8 ^ 2 + 7 × 8 ^ 3 + 3 × 8 ^ 4 + 1 × 8 ^ 5

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top