Você está na página 1de 15

Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente.

Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.

Capítulo 4

Operações
numéricas e
conversões de base

Neste capítulo, abordaremos as operações numéricas mais utiliza-


das e as formas de conversão de bases numéricas. Apresentaremos
operações como a adição direta nas bases 2 e 16 e a subtração direta
na base 2. Veremos as conversões numéricas entre sistemas numéri-
cos de bases diferentes, de base 10 para qualquer base, de qualquer

53
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
base para base 10 e entre sistemas de base 16 para base 2 e de base 2
para base 16

1 Operações numéricas
Os computadores recebem o nome de “computadores digitais” por
trabalharem o tempo todo no sistema numérico binário. Sendo assim,
é importante apresentarmos a técnica utilizada para efetuar operações
aritméticas na base 2.

Segundo Tocci, Widmer e Moss (2011), um dos motivos principais


de o sistema de numeração decimal não ser implementado em dispo-
sitivos eletrônicos é a dificuldade de construir dispositivos eletrônicos
multiníveis, com dez níveis diferentes de tensão (cada um representan-
do um caractere decimal de 0 a 9). Por outro lado, a criação de equipa-
mentos eletrônicos que trabalham com dois níveis de tensão é, sem
dúvida, muito mais simples e de baixo custo de complexidade. Dessa
forma, quase todos os dispositivos digitais usam o sistema de numera-
ção binário (base 2) como sistema básico de numeração para suas ope-
rações. Além disso, os sistemas digitais sofreram muitas modificações
à medida que a tecnologia avançou, mas os princípios de representação
binária se mantiveram sem mudanças (TOCCI; WIDMER; MOSS, 2011).

A representação dos dois estados lógicos de um sinal digital é apre-


sentada na figura 1. Pode-se perceber que os níveis mais altos de ten-
são representam o bit 1 e os níveis mais baixos de tensão representam
o bit 0. As terminologias “alto” e “baixo” são utilizadas para represen-
tar os dois estados de um sistema digital, em vez dos números 1 e 0.
Dependendo da tecnologia e do tipo de implementação, os limiares das
faixas de tensão para representar 1 e 0 podem ser distintos. No exemplo
da figura 1, o bit 1 é representado pelo intervalo de 2 V a 5 V, e o bit 0 é
representado pelo intervalo de 0 V a 0,8 V, sendo o intervalo de 0,8 V a
2 V considerado como tensões inválidas (não utilizadas).

54 Conceitos de computação I
Figura 1 – Designações de tensões típicas em um sistema digital
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.

5V

Binário 1 Nível alto


2V

Tensões inválidas Não usadas


0,8 V

Binário 0 Nível baixo


0V

Fonte: adaptado de Tocci, Widmer e Moss (2011, p. 14).

Quando utilizamos N bits, podemos contar 2 elevado a N diferentes


possibilidades. Podemos relacionar essas possibilidades aos números
em decimal (de 0 a 2N – 1). Por exemplo, para N = 4, podemos contar de
00002 a 11112, que corresponde a 010 a 1510, em um total de 16 números
diferentes. Nesse caso, o valor do maior número decimal é 24 – 1 = 15, e
há 24 números diferentes (TOCCI; WIDMER; MOSS, 2011, p. 27).

O sistema numérico hexadecimal é conhecido por utilizar 16 dígitos


diferentes entre números e letras para representar uma informação: os
números de 0 a 9 e as letras de A a F. Cada letra corresponde a um
número do sistema decimal (A: 10; B: 11; C: 12; D: 13; E: 14; F: 15). Para
representar sequências binárias muito longas, é conveniente usar o
sistema numérico hexadecimal, por oferecer um tamanho menor para
representar a mesma informação, sendo mais fácil de entender do que
longas sequências de 0 e 1. Para exemplificar, imagine sequências lon-
gas de até 64 bits.

Essas sequências são comuns quando se trabalha, por exemplo, com


armazenamento em memória. Sendo assim, quando nos deparamos

Operações numéricas e conversões de base 55


Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
com longas sequências de 0 e 1, é sempre mais conveniente e menos
sujeito a erros convertê-las em hexadecimal.

O sistema hexadecimal é extremamente utilizado na área dos micro-


processadores e, também, amplamente utilizado em circuitos digitais,
tratando-se de um sistema numérico muito importante, sendo aplicado
em projetos de software e hardware (IDOETA; CAPUANO, 1999).

1.1 Operação aritmética soma


Agora, vamos apresentar como a operação aritmética soma com
números na base 2 e na base 16 funciona, mas, para isso, primeiro pre-
cisamos entender como funciona a operação na base 10.

Considere os algarismos decimais dispostos em ordem crescente


de 0 a 9:

0 1 2 3 4 5 6 7 8 9

“Somar” significa deslocar à direita na sequência dos algarismos de-


cimais, ou seja, 4 + 3 = 7 porque, estando no 4 e executando três des-
locamentos à direita nos algarismos decimais ordenados, paramos no
algarismo 7. Acompanhe:

0 1 2 3 4 5 6 7 8 9

   

Analise agora o que acontece com a seguinte operação aritmética


decimal: 7 + 7 = ?

0 1 2 3 4 5 6 7 8 9

       

(vai 1)

Analisando a representação anterior, pode-se concluir que 7 + 7 = 4,


o que está errado. Vamos entender o que acontece. Quando não

56 Conceitos de computação I
existem mais algarismos à direita e, mesmo assim, é necessário fazer
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.

um deslocamento, ocorre o retorno para o algarismo 0 e continua-se a


contar a partir daí (contando inclusive o retorno). Esse fato é conhecido
como “estouro”, e é o famoso “vai 1”.

1
7
7 +
1 4(10)

Os algarismos do sistema numérico binário são 1 e 0. Somar no sis-


tema numérico binário não é diferente de somar em outros sistemas
numéricos. O problema é que, como ocorrem muitos estouros, é neces-
sário um pouco mais de atenção para não errar.

A tabela 1 exemplifica as possibilidades de operações binárias.

Tabela 1 – Possibilidades de operações binárias

0+0 0

1+0 1

0+1 1

1+1 0 vai 1

Por exemplo, podemos somar 137 na base 10 com 72 na base 10.


Para isso, uma forma alternativa seria transformar esses números para
binários: 137 = 10001001; 72 = 01001000. Na sua soma, obteríamos o
seguinte número binário: 11010001, que representa o mesmo valor da
soma decimal.

137(10) = 10001001

72(10) 01001000

Soma = 209 11010001

Operações numéricas e conversões de base 57


1.1.1 Soma hexadecimal

Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Um número no formato hexadecimal pode ser seguido pelo número
16, como em 6AD(16), ou pela letra H, como em 26H. A grande diferença
de um sistema numérico para outro é a quantidade de algarismos para
representar os valores. A montagem e a técnica são as mesmas utiliza-
das para somar números nas bases 10 e 2. Primeiramente, são escritos
os algarismos na ordem crescente, e, depois, são contados os desloca-
mentos e os estouros.

0 1 2 3 4 5 6 7 8 9 A B C D E F

Agora, um exemplo de operação de soma do número hexadecimal 8


somado a A na base hexadecimal:

0 1 2 3 4 5 6 7 8 9 A B C D E F

       

  

(vai 1)

Logo, a resposta será 12 em hexadecimal, que corresponde a 18 na


base decimal.

8 +

1 2

Vamos acompanhar um outro exemplo: somar 531 + 19C, ambos


os números na base hexadecimal. A soma de 1 + C, onde C vale 12.
Representaremos o deslocamento de doze casas, a partir de 1. Assim
fazendo, paramos na letra D.

58 Conceitos de computação I
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.

0 1 2 3 4 5 6 7 8 9 A B C D E F

            

(não ocorreu estouro)

Representando a soma de 3 + 9, iniciamos na posição 3 e andamos


nove casas para a direita, parando no C.

0 1 2 3 4 5 6 7 8 9 A B C D E F

         

(não ocorreu estouro)

Concluindo a soma, resta somarmos 5 + 1. Usando o mesmo proce-


dimento, estando em 5, move-se uma casa para a direita, parando no 6.

0 1 2 3 4 5 6 7 8 9 A B C D E F

 

(não ocorreu estouro)

Resposta: somando 531 + 19C na base hexadecimal, temos um


resultado de 6CD na base hexadecimal: 531(16) + 19C(16) = 6CD(16).

5 3 1 +

1 9 C

6 C D

1.1.2 Subtração binária

Idoeta e Capuano (1999) descrevem o método de subtração binária


como sendo semelhante à subtração de números decimais. São possí-
veis apenas quatro situações para efetuar operações de subtração de

Operações numéricas e conversões de base 59


Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
um bit de outro em posições de um número binário. São elas (IDOETA,
CAPUANO, 1999):

0–0=0

1–1=0

1–0=1

0 – 1 à precisa tomar emprestado à 10 – 1 = 1

O último caso aponta que é preciso emprestar da coluna seguinte


para a esquerda quando subtrair 1 de 0.

Vamos acompanhar um exemplo da subtração de dois números bi-


nários e seus equivalentes decimais.

Exemplo: a subtração do número binário 10011 menos o número bi-


nário 1000 (100112 – 10002).

1 0 0 1 1

– 1 0 0 0

1 0 1 1

Resposta: a subtração do número binário 10011 menos o número


binário 1000 é igual a 1011 (100112 – 10002 = 10112).

2 Conversão de decimal para binário


O sistema binário pode ser utilizado para representar qualquer quan-
tidade também no sistema decimal ou em outro sistema de numera-
ção. Tocci, Widmer e Moss (2011) fazem uma importante consideração
sobre a aritmética binária. Essa consideração define o posicionamento
dos bits com maior e menor valor significativo, conhecidos, respectiva-
mente, como MSB e LSB:

60 Conceitos de computação I
• MSB (most significant bit): indica o bit mais significativo (o que
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.

tem maior valor).

• LSB (less significant bit): indica o bit menos significativo (o que


tem menor valor).

Conhecendo os valores MSB e LSB, é possível efetuar a conversão


de um número decimal inteiro para seu equivalente binário, e vice-versa.
Um método para conversão de um número na base decimal para a base
binária utiliza dois algarismos (0 e 1). Cada posição tem um peso de
uma potência de 2 (base do sistema binário). Sendo assim, para se con-
verter um número de binário para decimal, deve-se multiplicar cada bit
pela potência de sua posição e somar os resultados.

Exemplo:

2510 = 16 + 8 + 1 = 24 + 23 + 0 + 0 + 20 = 1 1 0 0 12

O algarismo 0 é inserido nas posições 21 e 22, pois todas as posições


devem ser consideradas.

Vamos a outro exemplo:

7810 = 64 + 8 + 4 + 2 = 26 + 0 + 0 + 23 + 22 + 21 + 0 = 1 0 0 1 1 1 02

Na conversão, realizada a seguir para o número 3010, utilizaremos o


método por divisões sucessivas pelo qual o número decimal é dividido
sucessivamente por 2. Podemos obter, por meio desse método, os res-
tos de cada divisão, até que se obtenha quociente 0.

30 / 2 = 15 + resto 0 LSB

15 / 2 = 7 + resto 1

7 / 2 = 3 + resto 1

3 / 2 = 1 + resto 1

Para a divisão 1 / 2, como o dividendo é menor que 2, (no caso, 1), 1


será o MSB.

3010 = 111102

Operações numéricas e conversões de base 61


Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Observe que o resultado binário corresponde à concatenação dos
restos resultantes das divisões sucessivas por 2, e, então, o resultado
é alcançado ao escrevermos o primeiro resto na posição do LSB até o
último resto na posição do MSB.

3 Conversão de binário para decimal


Segundo Idoeta e Capuano (1999), a conversão do sistema de nu-
meração binário é realizada utilizando um sistema posicional em que
cada dígito binário (bit) possui um certo peso, de acordo com a posição
relativa ao LSB. Qualquer número binário pode ser convertido em seu
decimal equivalente, simplesmente somando os pesos das posições
em que o número binário tiver um bit 1.

Exemplificando, realizaremos a conversão do número binário 100112


em seu equivalente decimal:

1 0 0 1 12

24 + 0 + 0 + 21 + 20 = 16 + 2 + 1= 1910

Vejamos outro exemplo com um número maior de bits:

1 1 0 0 1 12

25 + 24 + 0 + 0 + 21 + 20 = 5110

A partir do exemplo anterior, e de acordo com Tocci, Widmer e Moss


(2011), podemos determinar os pesos, isto é, as potências de 2, para
cada posição que contenha um bit 1 e, então, somá-los. O bit MSB tem
peso de 25, ainda que seja o sexto bit. Isso ocorre porque o LSB é o pri-
meiro bit e tem peso de 20.

62 Conceitos de computação I
4 Conversão de decimal para hexadecimal
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.

A conversão de decimal em binário tem a característica de utilizar


divisões sucessivas por 2. Desse modo, a conversão de decimal em he-
xadecimal pode ser feita usando divisões sucessivas por 16, e seu resul-
tado é obtido escrevendo do quociente da última divisão até o resto da
primeira divisão. Exemplificando:

a) Converta 37310 em hexadecimal.

Solução:

373 / 16 = 23 + resto 5

23 / 16 = 1 + resto 7

Para a divisão 1 / 16, como o dividendo é menor que 16, (no caso, 1),
1 será o MSB.

37310 = 17516

Para a operação de conversão do número decimal 373 em hexade-


cimal, primeiro dividimos 373 por 16, resultando em 23 com resto 5;
depois, dividimos 23 por 16, ficando 1 com resto 7. Por fim, dividimos 1
por 16, fica 0 com resto 1.

b) Converta 23110 em hexadecimal.

Solução:

231 / 16 = 14 + resto 7 LSB

Para a divisão 14 / 16, como o dividendo é menor que 16, (no caso,
14), 14 será o valor que entra como MSB.

23110 = E716

Para a conversão do número decimal 231 para hexadecimal, dividi-


mos 231 por 16, que resulta em 14 com resto 7. Então, dividimos 14 por

Operações numéricas e conversões de base 63


Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
16, que resulta em 0 com resto 14. Pegando do primeiro resto LSB ao
MSB, resulta em E7 na base 16. Lembre-se de que E na base hexadeci-
mal é igual a 14.

Observe novamente que os restos do processo de divisões sucessi-


vas formam o número hexadecimal.

5 Conversão de hexadecimal para decimal


Idoeta e Capuano (1999) citam que um número hexadecimal pode
ser convertido em seu equivalente decimal conhecendo a posição de
cada dígito hexadecimal, por ter um peso que é uma potência de 16. O
LSD tem um peso de 160 = 1; o dígito da próxima posição superior tem
um peso de 16¹ = 16; o próximo dígito tem um peso de 16² = 256, e as-
sim sucessivamente.

Vamos acompanhar alguns exemplos de conversão:

a) 35616 = 3 × 162 + 5 × 161 + 6 × 160

= 768 + 80 + 6

= 85410

Para a conversão do número hexadecimal 356 para decimal, deve-se


multiplicar cada algarismo por 16 elevado à potência correspondente
e, no final, somar todos os itens. Ficaria 3 × 16 elevado a 2 mais 5 × 16
elevado a 1 mais 6 × 16 elevado a 0. O resultado de cada multiplicação
fica 768 + 80 + 6, perfazendo um total de 854 na base 10.

b) 2AF16 = 2 × 162 + 10 × 161 + 15 × 160

= 512 + 160 + 15

= 68710

64 Conceitos de computação I
Para a conversão do número hexadecimal 2AF para o seu correspon-
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.

dente em decimal, deve-se multiplicar cada algarismo por 16 elevado à


potência correspondente e, depois, somar os resultados. Ficaria 2 × 16
elevado a 2 mais 10 × 16 elevado a 1 mais 15 × 16 elevado a 0. O resultado
de cada multiplicação fica 512 + 160 + 15, com total de 687 na base 10.

6 Conversão de hexadecimal para binário


Uma particularidade das conversões de hexadecimal para binário é
que, implicitamente na base 2, “n” dígitos binários podem ser representa-
dos por 2n números diferentes. Para exemplificar, tomaremos quatro dígi-
tos binários, e assim teremos 24 = 16 números diferentes. Uma vez que o
hexadecimal é um sistema de base 16, um número de um dígito pode ser
usado para representar 161 = 16 números diferentes. Como veremos a se-
guir, isso torna a conversão entre os dois sistemas extremamente simples.

Exemplo: considere o número hexadecimal 5B16. Vamos converter esse


número em binário. Para isso, separamos 5 e B e os convertemos direta-
mente em binários:

5 / 2 = 2 + resto 1

2 / 2 = 1 + resto 0

Como o dividendo resultante é menor que 2 (no caso, 1), é justamen-


te o valor 1 do dividendo que entra como MSB.

516 = 1012

B = 11

11 / 2 = 5 + resto 1

5 / 2 = 2 + resto 1

2 / 2 = 1 + resto 0

Operações numéricas e conversões de base 65


Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Como o dividendo resultante é menor que 2 (no caso, 1), é justamen-
te o valor 1 do dividendo que entra como MSB.

B = 10112

Resultado: 10110112

Para a conversão do número hexadecimal 5B para o seu correspon-


dente em binário, primeiramente, são efetuadas as divisões diretas e
sucessivas na base 2, e, depois, são concatenados os resultados. O al-
garismo 5 em hexadecimal equivale ao binário 1012, e B equivale a 11
em decimal e 1011 na base 2. Logo, concatenando os resultados, obte-
remos o equivalente binário 1011011.

Uma vez conhecido o equivalente binário para um número hexadeci-


mal, pode-se mostrar como será realizada a conversão, como verificado
no exemplo a seguir:

3 = 11

A = 1010

B = 1011

Após a conversão do número hexadecimal para base binária, fare-


mos a concatenação e obteremos o equivalente binário 1110101011
para o número hexadecimal 3AB.

Considerações finais
Neste capítulo, compreendemos como efetuar operações numéricas
para diferentes bases. Vimos também como efetuar as conversões da
base decimal para binário e hexadecimal. Além disso, apresentamos,
suscintamente, as vantagens de utilização de cada base. Foi possível
verificar que existe mais de uma maneira para operações de conver-
são de números de diferentes bases. Possivelmente, você pode chegar

66 Conceitos de computação I
à conclusão de que muitas dessas conversões podem ser realizadas
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.

automaticamente, em uma calculadora de conversão disponível na in-


ternet. No entanto, o objetivo deste capítulo é que o aluno domine essas
conversões, para que, assim, compreenda os processos de operações
lógicas que os dispositivos digitais realizam.

Referências
IDOETA, Ivan Valeije; CAPUANO, Francisco Gabriel. Elementos de eletrônica
digital. São Paulo: Érica, 1999.

TOCCI, Ronald J.; WIDMER, Neal S.; MOSS, Gregory L. Sistemas digitais:
princípios e aplicações. 11. ed. São Paulo: Pearson Prentice Hall, 2011.

Operações numéricas e conversões de base 67

Você também pode gostar