Domanda

Lo so 75 (base8) = 61 (Base10), ma non riesco a trovare facilmente la formula di questa. Come si fa a convertire da base 8 a base 10?

È stato utile?

Soluzione

Per convertire qualsiasi base di basare 10 solo effettuare le seguenti operazioni:

Per ogni cifra nella diversa base Moltiplica per la base e cifre. Ad esempio:

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

Funziona per qualsiasi base ... binario, hex, è il nome solo fare quello e verrà convertito in base 10.

Altri suggerimenti

0 * 8 5 + 0 * 8 4 + 0 * 8 3 + 0 * 8 2 + 7 * 8 1 + 5 * 8 0 = 61

La formula è 1 8 = 1 10 e 10 8 = 8 10 . Tutto il resto può essere derivato da quello.

Se si dispone di una sequenza di base di 8 cifre che si desidera convertire in un numero in base 10, elaborarli da sinistra a destra, mantenendo una totale si inizializza a zero. Per ogni cifra x, impostare il totale di 8 * totale + x. Dopo l'elaborazione dell'ultima cifra, il totale sarà dieci valore base della sequenza di base 8.

75 in base 8 = 5 * 8 ^ 0 + 7 * 8 ^ 1 = 5 + 56 = 61

In generale, per convertire il numero a_1a_2a_3 ... a_n dalla base k in base 10, utilizzare la formula:

a_n * k ^ 0 + a_ (n-1) * k ^ 1 + ... + a_1 * k ^ (n-1).

dato che questo è un sito di programmazione:

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

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top