As conversões de base numéricas na computação

Objetivos:
Descrever as conversões de base numéricas entre as representações decimal, binária, hexadecimal e octal, consideradas as mais imporantes para atividades relacionadas à computação.
Recursos e materiais:
Nenhum
Última atualização:
02/03/2020
Aulas do capítulo:

Na última aula, aprendemos como converter qualquer número binário, octal ou hexadecimal para o sistema decimal, com o qual estamos mais acostumados a trabalhar. Essas conversões, realizadas através da notação posicional, são importantes para que possamos compreender com mais facilidade as quantidades representadas nos outros sistemas de numeração, muito utilizados dentro do mundo da computação. Não deixe de ler nosso material clicando nesse link. Continuando nossos estudos sobre os números, aprenderemos agora como partirmos de qualquer sistema de numeração e obtermos uma forma de representação equivalente que não seja a decimal. As etapas de conversões de base numéricas para os principais casos são mostradas a seguir:

Conversão de decimal para binário, octal ou hexadecimal

Para convertermos um número decimal para uma base b qualquer, precisamos separar o número nas partes inteira e fracionária, para então seguirmos os procedimentos descritos abaixo para cada uma delas:

Parte inteira: “Dividir o número decimal pela base b obtendo quociente e resto. Dividir o quociente pela base b obtendo um novo quociente e resto. Repetir o processo até que o quociente seja 0. Tomar os restos na ordem inversa em que foram calculados”. Vejamos alguns exemplos:

a) 13_{(10)} \rightarrow 1101_{(2)} b) 13_{(10)} \rightarrow 15_{(8)}
13 2 13 8
1 6 2 5 1 8
0 3 2 1 0
1 1 2
1 0
c) 132_{(10)} \rightarrow 84_{(16)} d) 650_{(10)} \rightarrow 28A_{(16)}
132 16 650 16
4 8 16 10 40 16
8 0 8 2 16
2 0

No último exemplo, a divisão de 650 por 16 teve resto igual a 10. Conforme estudamos em nossa aula sobre os sistemas de numeração, o número 10 equivale ao caractere A na representação hexadecimal. Por isso, o resultado final é que 650 na base decimal é equivalente a 28A na base hexadecimal.

Parte fracionária: “Multiplicar a parte fracionária pela base b. Multiplicar a nova parte fracionária pela base b. Repetir o processo até que a parte fracionária seja nula ou até atingir a precisão desejada. Tomar as partes inteiras na ordem em que foram calculadas”. Novamente, analisemos alguns exemplos:

a) 0,8125_{(10)} \rightarrow 0,1101_{(2)} b) 0,5_{(10)} \rightarrow 0,4_{(8)}
0,8125 0,625 0,250 0,5 0,5
x2 x2 x2 x2 x8
1,625 1,250 0,5 1,0 4,0

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

Para convertermos um número binário em hexadecimal, separamos o número binário em grupos de quatro algarismos e substituímos cada um desses grupos pelo dígito hexadecimal equivalente, conforme resumido na Tabela 1. Quando a quantidade de dígitos do número binário não for um múltiplo de quatro, devemos completar o número com zeros à esquerda na parte inteira, e com zeros à direita na parte fracionária.

Equivalência entre números decimais, binários e hexadecimais
Decimal Binário Hexadecimal Decimal Binário Hexadecimal
0 0000 0 8 1000 8
1 0001 1 9 1001 9
2 0010 2 10 1010 A
3 0011 3 11 1011 B
4 0100 4 12 1100 C
5 0101 5 13 1101 D
6 0110 6 14 1110 E
7 0111 7 15 1111 F

Seguem alguns exemplos:

a) 1010111_{(2)} \rightarrow N_{(16)} b) 11001110_{(2)} \rightarrow N_{(16)}
0101_{(2)} \rightarrow 5_{(16)} 1100_{(2)} \rightarrow C_{(16)}
0111_{(2)} \rightarrow 7_{(16)} 1110_{(2)} \rightarrow E_{(16)}
1010111_{(2)} \rightarrow 57_{(16)} 1010111_{(2)} \rightarrow CE_{(16)}

Já para a de conversão de hexadecimal para binário, basta substituirmos cada dígito hexadecimal pelo número binário de 4 algarismos correspondente, utilizando a mesma relação da Tabela acima. Vejamos os exemplos a seguir:

a) CE5_{(16)} \rightarrow N_{(2)} b) 6,C_{(16)} \rightarrow N_{(2)}
C_{(16)} \rightarrow 1100_{(2)} \quad E_{(16)} \rightarrow 1110_{(2)} 6_{(16)} \rightarrow 0110_{(2)}
5_{(16)} \rightarrow 0101_{(2)} C_{(16)} \rightarrow 1100_{(2)}
CE5_{(16)} \rightarrow 110011100101_{(2)} 6,C_{(16)} \rightarrow 0110,1100_{(2)}

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

O último caso que veremos nessa aula são as conversões de base numéricas entre números octais e binários. De forma similar ao que vimos no caso anterior, para convertermos um número binário em octal, basta substituirmos um conjunto de cada três algarismos binários pelo número octal equivalente, conforme a relação apresentada na Tabela 2. Quando a quantidade de algarismos do número binário não for um múltiplo de três, precisamos completar a parte inteira com zeros à esquerda, e a parte fracionária com zeros à direita.

Equivalência entre números decimais, binários e octais
Decimal Binário Octal Decimal Binário Octal
0 000 0 4 100 4
1 001 1 5 101 5
2 010 2 6 110 6
3 011 3 7 111 7

Já para o caminho contrário, ou seja, de octal para binário, substituímos cada algarismo do número octal pelo binário de 3 dígitos correspondente, de acordo com a Tabela 2. Os exemplos abaixo ilustram essas duas conversões:

a) 110101_{(2)} \rightarrow N_{(8)} b) 57_{(8)} \rightarrow N_{(2)}
110_{(2)} \rightarrow 6_{(8)} 5_{(8)} \rightarrow 5_{(2)}
101_{(2)} \rightarrow 5_{(8)} 7_{(8)} \rightarrow 111_{(2)}
110101_{(2)} \rightarrow 65_{(8)} 57_{(8)} \rightarrow 101111_{(2)}
c) 0,11011_{(2)} \rightarrow N_{(8)} d) 1101,10_{(2)} \rightarrow N_{(8)}
110_{(2)} \rightarrow 6_{(8)} 001_{(2)} \rightarrow 1_{(8)} \quad 101_{(2)} \rightarrow 5_{(8)}
110_{(2)} \rightarrow 6_{(8)} 100_{(2)} \rightarrow 4_{(8)}
0,11011_{(2)} \rightarrow 66_{(8)} 1101,10_{(2)} \rightarrow 15,4_{(8)}

E agora que conhecemos as conversões de base numéricas?

Depois de conhecermos as principais conversões numéricas, teremos mais facilidade para entender como os computadores trabalham com as informações. Aprenderemos nas próximas aulas como as operações matemáticas são realizadas e como as máquinas também são capazes de interpretar e transmitir informações no formato de texto. Cadastre-se agora em nosso blog clicando nesse link, para se manter conectado e ficar por dentro das novidades que vêm por aí.

Referências bibliográficas

A. A. T. Maia, “Fundamentos da Computação – Algoritmos – Programação em Linguagem C”. Universidade Federal de Minas Gerais, 2013.

Deixe um comentário

%d blogueiros gostam disto: