Conversão entre sistemas de numeração

sistemas de numeração
Este post faz parte da série Sistemas de numeração. Leia também os outros posts da série:

No artigo anterior, apresentamos os sistemas de numeração mais usados em eletrônica. Em muitos casos é necessário fazer a conversão entre bases. Para isso, usa-se alguns processos de conversões que são bem simples de executar.

 

 

Conversão de binário para decimal

 

Como já vimos no artigo anterior, o sistema binário só possui 2 algarismos. Cada posição tem um peso de uma potência de 2 (base do sistema binário). Sendo assim, para se converter um número de binário para decimal, deve-se multiplicar cada bit pela potência de sua posição e somar os resultados.

 

Por exemplo, a conversão do número 10112  para decimal é feita da seguinte forma:

 

Binário

1

0

1

1

Valor da posição

1 X 23

0 X 22

1 X 21

1 X 20

8

0

2

1

Resultado

8+0+2 + 1 = 11 decimal

 

 

Conversão de decimal para binário

 

Para realizar a conversão de decimal para binário, realiza-se a divisão sucessiva por 2 (base do sistema binário). O resultado da conversão será dado pelo último quociente (MSB) e o agrupamento dos restos de divisão será o número binário.

 

Por exemplo, vamos converter o número 45 em binário:

Conversão entre sistemas de numeração: decimal para binário

A leitura do resultado é feita do último quociente para o primeiro resto. Sendo assim, o resultado da conversão do número 45 para binário é: 1011012.

 

 

Conversão de hexadecimal para decimal

 

A conversão de hexadecimal para decimal segue o mesmo princípio apresentado para o sistema binário. Multiplica-se cada dígito pela potência de 16 relativa à posição e somam-se os resultados:

 

Por exemplo, a conversão do número 12C16 para decimal:

 

Hexadecimal

1

2

C

Valor da posição

1 x 162

2 X 161

12 X 160

256

32

12

Resultado

256 + 32 + 12 =300 decimal

 

 

Conversão de decimal para hexadecimal

 

Para converter um número decimal em hexadecimal realiza-se a divisão sucessiva por 16 (base do sistema hexadecimal), semelhante à conversão de decimal para binário.

 

Por exemplo, vamos converter o número 438 em hexadecimal:

 

Conversão entre sistemas de numeração: decimal para hexadecimal

O resultado é lido da direita para a esquerda a partir do último quociente. Assim. 438 é igual a 1B616.

Note que o resto da segunda divisão foi o número 11, que corresponde ao número B em Hexadecimal.

 

 

Conversão de octal para decimal

 

A conversão de octal para decimal segue o mesmo princípio apresentado para o sistema hexadecimal e binário. Nesse caso, multiplica-se cada dígito pela potência de 8 relativa à posição e somam-se os resultados:

 

Por exemplo, a conversão do número 1238 para decimal:

 

Hexadecimal

1

2

3

Valor da posição

1 x 82

2 X 81

3 X 80

64

16

3

Resultado

64 + 16 + 3 = 83 decimal

 

 

Conversão de decimal para octal

 

Para converter um número decimal em octal realiza-se a divisão sucessiva por 8 (base do sistema octal), semelhante às conversões apresentadas para os sistemas binário e hexadecimal.

 

Por exemplo, vamos converter o número 246 para octal:

 

decimal-octal

O resultado é lido da direita para a esquerda a partir do último quociente. Assim, 246 é igual a 3668.

 

 

Conversão de octal em binário e de binário para octal

 

A conversão de octal para binário é feita convertendo dígito a dígito de octal em binário, da direita para a esquerda. Cada digito é convertido para um grupo de 3 bits, conforme tabela a seguir:

 

Octal

Binário

0

000

1

001

2

010

3

011

4

100

5

101

6

110

7

111

 

Para entender esse processo, vamos converter o número 17548 para binário:

 

1

7

5

4

001

111

101

100

17548 = 0011111011002

 

Para conversão de binário em octal, faz-se o processo inverso, ou seja, separa-se o número em grupo de 3 bits (a partir da direita) e converte cada grupo no octal correspondente.

Vamos converter o número 110010002 em octal:

 

011

001

000

3

1

0

110010002  = 3108

 

 

Conversão de hexadecimal para binário e de binário para hexadecimal

A conversão de hexadecimal para binário também segue o princípio de conversão digito a digito. Separa-se cada dígito hexadecimal e o converte para binário, conforme a tabela a seguir:

  

Hexadecimal

Binário

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

A

1010

B

1011

C

1100

D

1101

E

1110

F

1111

 

Cada dígito hexadecimal é convertido para um número em binário composto por 4 bits. Para exemplificar esse processo, vamos converter o número AD4516:

 

Hexadecimal

A

D

4

5

Conversão

1010

1101

0100

0101

Resultado

AD4516 =  10101101010001012

 

O processo de conversão de binário para hexadecimal é feito de forma inversa. Separa-se o número em grupos de 4 bits (a partir da direita) e converte para o número hexadecimal correspondente, conforme a tabela. Assim, vamos converter o número 1110010011112 para hexadecimal:

 

Binários

1110

0100

1111

Conversão

E

4

F

Resultado

1110010011112=  E4F16

 

O procedimentos apresentados acima auxiliam no processo de conversão entre os sistemas de numeração. É interessante entender os procedimentos apresentados e aplicá-los. Hoje é fácil usar calculadoras e programas para conversão, porém é importante entender e saber realizar tais conversões sem o uso de ferramentas. Com o uso esse processo torna-se natural.

Outros artigos da série

<< Sistemas de numeração mais usados em eletrônica
Este post faz da série Sistemas de numeração. Leia também os outros posts da série:
NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Fábio Souza
Engenheiro com experiência no desenvolvimento de projetos eletrônicos embarcados. Hoje é diretor de operações do portal Embarcados, onde trabalha para levar conteúdos de eletrônica, sistemas embarcados e IoT para o Brasil. Também atua no ensino eletrônica e programação pelo Brasil. É entusiastas do movimento maker, da cultura DIY e do compartilhamento de conhecimento, publica diversos artigos sobre eletrônica e projetos open hardware, como o projeto Franzininho Participou da residência hacker 2018 no Redbull Basement. Quando não está ministrando palestras, cursos ou workshops, dedica seu tempo “escovando bits” ou projetando placas eletrônicas.

15
Deixe um comentário

avatar
 
8 Comment threads
7 Thread replies
5 Followers
 
Most reacted comment
Hottest comment thread
12 Comment authors
ThiagoDIOGENES LIMAlavioneiSUELENJairo Abreu Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Thiago
Visitante
Thiago

Muito bom o texto, meu querido! Parabnéns pela publicação!
No entanto faltou a representação Float point IEEE754!

SUELEN
Visitante
SUELEN

Uma duvida , o ponto entre os números interfere na resposta. ex: coversao do valor binario 10.11 e 1.011 para decimal .

lavionei
Visitante
lavionei

vapo

Jairo Abreu
Visitante
Jairo Abreu

Olá, podem me ajudar com o número 512 na base 10 para octal, não entendi pq o resultado é 1000

Messias
Visitante
Messias

12c base 16 para base 10 esta errado no cálculo, pois 12x16=192 elevado a 0 = 1 portanto resultado é 289 não 300.

Fernando
Visitante
Fernando

Você inverteu a ordem das operações, o cálculo demonstrado está correto.

Lucas
Visitante
Lucas

só pra avisar, a de octal para binário está errada, voce contou 011 e é 110. Arrume.

DIOGENES LIMA
Visitante
DIOGENES LIMA

boa noite Lucas, o "0" a esquerda não tem valor, portanto, não é relevante para o resultado, se você contar a quantidade de bits ficara correta a informação.

vinicius
Visitante
vinicius

Tenho prova amanhã sobre isso e o professor não deixou usar a calculadora como faço agora?

RAFAEL GOMES
Visitante
RAFAEL GOMES

Obrigado, ótimo site.

Elizeu
Visitante
Elizeu

Muito boa a explicação.....