Como converter um número em base b para um número no sistema de numeração decimal

No mundo da computação é muito comum vermos números escritos em sistemas de numeração diferentes do sistema decimal. Atenção especial são dadas para os sistemas de base 2 (binário) e de base 16 (hexadecimal). Mas para muitos de nós o sistema decimal é mais palpável do que qualqer outro. Você sabe como converter qualquer sistema escrito numa base b qualquer para o sistema decimal?

Um número N em uma base b qualquer pode ser escrito da seguinte forma:

N = b_n...b_3b_2b_1b_0

onde b_i é uma letra do alfabeto (dígito) que compõe o sistema de numeração. Para um sistema de numeração binário (base 2), b_i pode ser 0 ou 1. Para um sistema de numeração de base 8 b_i pode ser 0, 1, 2, 3, 4, 5, 6, 7. Para um sistema de numeração de base 16 b_i pode ser 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F e assim por diante.

Para converter o número b_n...b_3b_2b_1b_0 para a base 10 é simples. Basta aplicar a seguinte forma:

D = {b_0}B^{0} + {b_1}B^{1} + {b_2}B^{2} + ....{b_n}B^{n}

onde B é a base do sistema. Para o sistema binário B = 2 e a fórmula se reduz em:

D = {b_0}2^{0} + {b_1}2^{1} + {b_2}2^{2} + ....{b_n}2^{n}

Para ilustrar, o seguinte trecho de código na linguagem Java converte uma string que possui os números em binário para um número em decimal:

Tags: ,

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: