كيف يمكنني تحويل رقم من الأساس 8 إلى الأساس 10؟
سؤال
أعرف أن 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