Pergunta

Eu sei 75 (base8) = 61 (base10), mas não consigo encontrar facilmente a fórmula para isso. Como se converte da base 8 para a base 10?

Foi útil?

Solução

Para converter qualquer base para a base 10, basta fazer o seguinte:

Para cada dígito na base diferente, multiplique isso pela base e dígito. Por exemplo:

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

Funciona para qualquer base ... binária, hexadecimal, você o chama apenas e ele se converterá à base 10.

Outras dicas

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

A fórmula é 18 = 110 e 108 = 810. Todo o resto pode ser derivado disso.

Se você tiver uma sequência de 8 dígitos da base que deseja converter para um número base 10, processe -os da esquerda para a direita, mantendo um total que você inicializa em zero. Para cada dígito x, defina o total para 8*total+x. Após o processamento do último dígito, o total será o valor base dez da sequência base 8.

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

Em geral, para converter o número A_1A_2A_3 ... a_N da base k para a base 10, use a fórmula:

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

Dado este é um site de programação:

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top