Vous êtes sur la page 1sur 19

SEBENTA

de
Sistemas de Numerao

Prof. Daniel Silva

ndice
1.

REPRESENTAO NUMRICA EM DIFERENTES BASES ..................................................5


1.1.
1.2.
1.3.
1.4.
1.5.
1.6.

2.

OPERAES..................................................................................................................................10
2.1.
2.2.
2.3.

3.

BASE DECIMAL ...........................................................................................................................5


SIGNIFICADO DA REPRESENTAO NUMRICA ...........................................................................6
CONTAR EM BASE 8 (OCTAL) ......................................................................................................6
CONTAR EM BASE 16 (HEXADECIMAL).......................................................................................7
CONTAR EM BASE 2 (BINRIO) ...................................................................................................7
A PARTE FRACCIONRIA ............................................................................................................9
ADIO ....................................................................................................................................10
SUBTRACO ...........................................................................................................................11
SOMAR E SUBTRAIR EM BINRIO ..............................................................................................12

CONVERSES ENTRE BASES...................................................................................................13


3.1.
3.2.
3.3.
3.4.

CONVERSO DE UMA BASE B PARA BASE DECIMAL ..................................................................13


CONVERSO DE BASE DECIMAL PARA UMA BASE B ..................................................................13
CONVERSES ENVOLVENDO AS BASES 2, 8 E 16 .......................................................................15
OUTRAS CONSIDERAES ........................................................................................................18

Introduo s Bases de Numerao


1. Representao numrica em diferentes bases
1.1.

Base decimal

A representao numrica comum utiliza a base 10. Isso significa que existem 10 algarismos
(ou dgitos) diferentes, representados pelos smbolos de 0 a 9. Utilizando apenas estes
algarismos podemos representar qualquer nmero. Comeando pelos nmeros mais simples,
representveis apenas por um dgito, temos:
0, 1, 2, , 9, 10
Ao chegar a 10 ocorre o primeiro incidente na contagem: esgotou-se a capacidade de
representao de nmeros apenas com um dgito passamos a usar dois dgitos, em que o da
esquerda tem maior peso neste caso tem o seu valor multiplicado por 10, ou seja, pelo valor da
base de numerao utilizada;
Continuando a contagem, temos:
, 10, 11, 12, , 18, 19, 20
Ao chegar a 19 esgotaram-se os dgitos na posio com menor peso. Por isso aumenta-se 1 na
posio seguinte; j contamos 2 vezes a base, ou seja, vamos em 210.
Retomando a contagem:
, 20, 21, 22, , 97, 98, 99, 100
Ao passar de 99 para 100 esgotaram-se os dgitos na segunda posio; isso significa que
contmos 10 vezes a base, ou seja 1010 = 102. Um dgito na 3 posio vale portanto a base ao
quadrado.
, 100, 101, , 998, 998, 1000,
A partir de 1000, o dgito na quarta posio vale por 103.
Resumindo, um nmero representado em base 10 pode ser decomposto da forma indicada nos
seguintes exemplos:
25=

10+5

367= 3

10 2 + 6 10 +7

2745= 2

10 3 + 7 10 2 + 4 10+5

Daniel Silva

1.2.

Significado da representao numrica

Em suma, da direita para a esquerda: um algarismo na primeira posio vale por si prprio, na
segunda posio vale pela base, na terceira pela base ao quadrado, na quarta pela base ao cubo e
assim sucessivamente. Por exemplo:
8317 = 8

10 3 + 3 10 2 + 1 10 + 7

Uma vez que 100 = 1, podemos uniformizar a representao:


8317 = 8

10 3 + 3 10 2 + 1 10 1 + 7 10 0

Para manter a coerncia com esta notao designamos as posies, da direita para esquerda, por
posio 0, 1, 2 e assim sucessivamente. E designamos a potncia respectiva por peso. Assim,
dizemos que um algarismo na posio 0 tem peso 100, ou seja 1; na posio 1 tem peso 101, ou
seja 10; na posio 2 tem peso 102 ou seja 100, etc.
Um dgito di na posio i tem peso 10i, ou seja, vale
di 10i
Em geral, dado um nmero com os dgitos:
dn dn-1 ... d2 d1 d0
o seu valor numrico pode ser escrito como:
dn10n + dn-110n-1 + + d2102 + d1101 + d0100

1.3.

Contar em base 8 (octal)

O que vimos para a base 10 generaliza-se facilmente para outras bases.


Considerando por exemplo a base 8, em vez de 10 dgitos, passamos a ter agora 8 dgitos e
para no inventar o que j est inventado, vamos represent-los pelos smbolos 0 a 7. O
processo de contagem em tudo semelhante ao usado em base 10. Comeamos com os nmeros
representveis apenas com um algarismo, que agora vo apenas at 7:
0, 1, 2, 3, 4, 5, 6, 7
Na base 8, o ltimo nmero representvel apenas com um algarismo ser portanto 7. O
nmero que se segue na contagem ser o 10 (que tem o valor 18 + 0, ou seja vale 8)
Sendo assim a nossa sequncia de contagem :
, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20
Repare que ao chegar a 17 mais uma vez se esgotaram os dgitos na posio com menos peso:
aumenta-se 1 na posio seguinte; j contamos 2 vezes a base, ou seja, vamos em 2 base (em
decimal seria 28);
Seguindo a contagem:

Daniel Silva

Arquitectura de Computadores

Pg. 6

, 20, 21, 22, , 75, 76, 77


Repare que o 77 ser o maior nmero com 2 dgitos representvel em base 8 (e o seu valor
78 + 7. A seguir ao 77 vir ento o nmero representado por 100 contmos basebase
vezes; o dgito 1 na terceira posio vale a base ao quadrado (em decimal seria 282);
E seguindo este raciocnio poderamos continuar a contagem indefinidamente:
, 77, 100, 101, 102, , 107, 110, 111, , 117, 120, 121, , 775, 776, 777, 1000,

1.4.

Contar em Base 16 (hexadecimal)

Vamos agora considerar a base 16. Na base 16 teremos 16 dgitos; vamos representar os
primeiros 10 da maneira habitual, isto , usam-se os algarismos de 0 a 9, a partir da vamos usar
as primeiras letras do alfabeto: A, B, C, D, E e F.
De resto, o processo de contagem semelhante, sendo que agora os nmeros representveis com
um dgito vo at F (15 em decimal):
0, 1, 2, ..., 9, A, B, C, D, E, F
Repare agora que ao chegarmos que depois do 9 no se passa nada de especial, pois temos
ainda o A (cujo valor 10). O F ser o maior nmero representvel com um algarismo;
Continuando a contagem:
, E, F, 10
Ao chegar a F esgotaram-se os dgitos, logo esgotou-se a capacidade de representao de
nmeros s com um dgito; passamos a ter que usar dois; na representao 10, o 1 da
esquerda vale a base (o valor de 10 na base 16 ser portanto 116 + 0);
, 10, 11, 12, , 19, 1A, 1B, 1C, 1D, 1E, 1F, 20
Em 20 contmos duas vezes o nmero de dgitos; vamos em 2base (em decimal seria 216);
, 20, 21, , 99, 9A, 9B, 9C, 9D, 9E, 9F, A0, A1, FC, FD, FE, FF, 100
O nmero representado por FF o maior valor representado com 2 dgitos na base 16. O seu
valor 1516+15 = 255. No hexadecimal 100, o 1 da esquerda vale por 162.

1.5.

Contar em base 2 (binrio)

Especialmente importante, dado que com essa representao com que os computadores
trabalham, a base 2, que tem apenas dois dgitos: 0 e 1. O processo de contagem idntico
ao praticado em qualquer outra base. No entanto, como apenas existem dois dgitos nesta base,
ao fazer uma contagem rapidamente aparecem sequncias com muitos dgitos, como ser visto
mais frente. Comeando a contagem:
0, 1, 10

Daniel Silva

Arquitectura de Computadores

Pg. 7

Esgotada a capacidade de representao com um dgito, passam-se a usar dois dgitos; o dgito
da direita vale 1 vez a base ou seja 2;
, 10, 11, 100
11 o maior nmero representvel com apenas dois dgitos. Em 100 passamos a ter trs
dgitos em que o da esquerda vale a base ao quadrado (22);
, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000,
E poder-se-ia continuar indefinidamente. Repare que na representao 1000, o 1 da esquerda
vale pela base ao cubo (23); e em 10000, o dgito da esquerda vale pela base quarta (24).
1.5.1

Generalizao da representao numrica

O conceito de representao numrica apresentado no ponto 1.1 para a base decimal generalizase facilmente para outras bases. Em qualquer base um nmero representa-se como uma
sequncia de dgitos. Sendo B a base, um dgito di na posio i tem peso Bi ou seja vale
di Bi
Em geral, para um dado um nmero com os dgitos:
dn dn-1 ... d2 d1 d0 ,
o seu valor numrico, dada a base B, :
dnBn + dn-1Bn-1 + ... + d2B2 + d1B1 + d0B0
Para clarificar a representao e evitar ambiguidades, pode-se explicitar a base de numerao
usando a seguinte notao:
(312)10 a sequncia de dgitos 312 na base 10;
(312)8 a sequncia de dgitos 312 na base 8;
(312)16 a sequncia de dgitos 312 na base 16.
O valor respectivo de cada um (em decimal) o que resulta da expresso anterior. Assim:
(312)

10

(312)

(312)

16

= 3 10 2 + 1 10 1 + 2 10 0

= 3 8 2 + 1 8 1 + 2 8 0
= 31 6 2 + 1 16 1 + 2 16 0

Obviamente os trs nmeros representados tm valores diferentes a representao e o valor


correspondente so coisas distintas. Em geral, sequncias de dgitos iguais em bases diferentes
representam nmeros diferentes (s sero os mesmos caso tenham apenas um dgito). Pode
confirmar, por exemplo, que:
(312)
(202)
(786)

Daniel Silva

10
10
10

= (470)
= (312)
= (1422)

= (138)
8 = (CA)
8 = (312)
8

= (100111000)
=
(11001010)
16
16 = (1100010010)
16

Arquitectura de Computadores

2
2
2

Pg. 8

1.6.

A parte fraccionria

A representao estende-se facilmente para a parte fraccionria. Dada uma sequncia de dgitos
na base B:
dn dn-1 ... d2 d1 d0 . d-1 d-2 ... d-m ,
em que o ponto separa a parte inteira e a parte fraccionria, o valor associado
dnBn + dn-1Bn-1 + ... + d2B2 + d1B1 + d0B0 + d-1B-1 + d-2B-2 + ... d-m B-m
Por exemplo, a sequncia 42.57 em decimal vale:
410 1 + 2 10 0 + 5 10 -1 + 7 10 -2
Em base 10, o dgito direita do ponto tem peso 10-1, ou seja uma dcima; o dgito seguinte tem
peso 10-2, ou seja uma centsima; e assim sucessivamente. Genericamente, o dgito de posio i
direita do ponto (dita posio -i) tem peso B-i.
Exemplos:
(42.57)

10

(42.57)

(4C.A7)
(10.01)

Daniel Silva

= 4 10 1 + 2 10 0 + 5 10 -1 + 7 10 -2

= 4 8 1 + 2 8 0 + 5 8 -1 + 7 8 -2

= 4 16 1 + 12 16 0 + 10 16 -1 + 7 16 -2
2 = 2 + 1/4
16

Arquitectura de Computadores

Pg. 9

2. Operaes
2.1.

Adio

Contar basicamente tudo o que precisamos para fazer as operaes elementares de somar e
subtrair. Vamos, agora, rever os procedimentos que usamos para a realizao destas operaes.
Exemplo (em base 10), da direita para a esquerda:

21823

ao primeiro algarismo, 3, juntamos 2 (a partir de 3 contamos mais 2);


+ 2652
a partir de 2 contamos mais 5;
a partir de 8 contamos 6, para dar 14; aqui h um incidente: a contagem ultrapassa 10, ou
seja, a base; deixamos como resultado o algarismo das unidades 4 e juntamos os restantes
10 somando 1 na posio seguinte; dizemos ento que h 1 de transporte (ou,
informalmente, e vai um...);

O mecanismo para somar exactamente igual em qualquer outra base. Vejamos um exemplo
em base 8:
Exemplo (em base 8), da direita para a esquerda:

3 e 2 d 5;
6 e 5 d 13 (a partir do 6 contamos 5 vezes na base 8: 7, 10, 11, 12, 13).
Como habitualmente, deixamos o algarismo 3 no resultado e juntamos o
10, fazendo o transporte de 1 para a posio seguinte;

2163
+ 252
2435

Exemplo, ainda em base 8:

3 + 2 d 5;
2 + 6 d 10; ou seja, d 0 e vai 1;
6 + 5 + 1 (que vem de trs) d 14; ou seja, d 4 e vai 1;

21623
+ 2562
24405

Exemplo, agora em base 16:

2 + 3 d 5;
2 + 6 d 8;
6 + 5 d B (ou seja, a partir de 6 conta-se 5 na base 16: 7, 8, 9, A, B);

21623
+ 2562
23B85

Exemplo, outra vez em base 16

3 + D d 10 ( D+3 => E F 10 )
1 + A + 6 d 11 ( B+ 6 => C D E F 10 11)
1 + 6 + 5 d C
F + 2 d 11

Daniel Silva

Arquitectura de Computadores

2F6A3
+ 256D
31C10

Pg. 10

2.2.

Subtraco

Os mecanismos que usamos vulgarmente para fazer a subtraco aplicam-se tambm, com os
mesmos princpios, quer base 10 quer s outras bases.
Considere uma subtraco elementar, por exemplo 7 2. A maneira mais bsica de fazer a
operao mais uma vez contar: neste caso contar de baixo (i.e. do subtraendo) para cima (i.e.
para o subtractor). O nmero de vezes que contarmos ser a diferena.
Para fazer a subtraco de nmeros com mais algarismos generalizamos o processo seguindo da
direita para a esquerda. Em cada posio fazemos a diferena entre o algarismo de cima e o de
baixo.
Exemplo: neste caso faramos:

2 para 7: conta 3, 4, 5, 6, 7, ou seja 5 vezes;


6 para 3 conta 7 vezes e vai um de transporte;
o transporte soma ao 7, assim fazemos 8 para 9 e d 1

2937
- 762
2175

Recorde que, numa subtraco, o transporte se junta ao algarismo de baixo. Ao fazer 6 para 3
estamos na realidade a fazer a diferena para 13 por consequncia temos que subtrair 10 na
posio seguinte. Podemos fazer isso retirando 1 ao algarismo de cima ou, como fazemos
habitualmente, adicionando 1 ao de baixo.
Salienta-se ainda a situao de transporte evidenciada no seguinte exemplo:
Neste caso, ao fazer 7 para 2 h um transporte. O transporte junta-se ao 9
para fazer 10 para 13, havendo por isso um novo transporte.

2932
- 797
2135

Note bem que apesar de nesta situao pensarmos 0 para 3 e realidade que
estamos a fazer 10 para 13; no nos podemos esquecer deste transporte.
Exemplo: vejamos agora o que acontece em base 8

2 para 7 d 5
6 para 3 d 5 (conta 7, 10, 11, 12, 13, ou seja 5 vezes ) e vai um
(4+1) para 4 d 7 (conta 6, 7, 10, 11, 12, 13, 14, i.e. 7 vezes) e vai um
1 para 2 d 1

Exemplo: novamente em base 8

2 para 0 d 6 (conta 3, 4, 5, 6, 7, 10, i.e. 6 vezes) e vai um;


7 + 1 d 10; 0 para 3 d 3, e vai um;
5 e 1 d 6; 6 para 4 d 6 e vai um;

Exemplo, agora em base 16:

A para 2 d 8 (conta B C D E F 10 11 12 ) e vai um


7+1 d 8; 8 para C d 4;

Daniel Silva

Arquitectura de Computadores

2437
- 462
1755

2430
- 572
1636

CBC2
- 57A
C648

Pg. 11

5 para B d 6;
0 para C d C;

Exemplo: novamente em base 16

2.3.

1234
- 57A
CBA

Somar e subtrair em binrio

As operaes em binrio so em tudo semelhantes. Dado que apenas existem dois dgitos, as
operaes possveis so muito poucas.
Na prtica, tudo se resume a saber somar dois dgitos, ou trs quando h transporte. As
possibilidades de soma de dois dgitos so apenas:
0 + 0, que d 0
1 + 0, que d 1
1 + 1, que d 0 e vai 1
Na soma de trs dgitos h apenas uma possibilidade adicional:
1 + 1 + 1, que d 1 e vai 1
Exemplo: uma soma de nmeros representados em binrio

0+1 d 1;
1+1 d 0 e vai 1;
1+1+1 d 1 e vai 1;
...

10110
+ 10111
101101

Na subtraco as possibilidades tambm so muito limitadas.


Exemplo:

1 para 1 d 0;
1 para 0 d 1, e vai um;
1 e 1 d 0 (ou seja 10) para 1 (ou seja 11) d 1 e vai um;
1 e 0 d 1 para 1 d 0;
...

Daniel Silva

Arquitectura de Computadores

101101
- 10111
10110

Pg. 12

3. Converses entre bases


3.1.

Converso de uma base B para base decimal

Considere agora o problema de dado um nmero representado numa base de numerao B


obter a sua representao em base 10.
Para resolver este problema, vamos em primeiro lugar relembrar a forma geral de representao
de um nmero, indicada na seco 1.6. Dado uma sequncia de algarismos
dn dn-1 ... d2 d1 d0
numa base de numerao B, o respectivo valor numrico :
dnBn + dn-1Bn-1 + ... + d2B2 + d1B1 + d0B0
Para converter um nmero para base 10 basta calcular esta expresso. Assim, por exemplo:
10 2 + 1 10 1 + 2 10 0 = 3 100 + 10 + 2

(312)

10

(312)

= 3 8 2 + 1 8 1 + 2 8 0 = 3 64 + 8 + 2

(312)

16

= 3 16 2 + 1 16 1 + 2 16 0 = 3 256 + 16 + 1

=3

(1001)

(4.02)

= 1 2 3 + 0 2 2 + 0 2 1 + 1 2 0 = 8 + 1
= 4 8 0 + 0 8 -1 + 2 8 -2 =

(A.BC) 16 = 10 + 11
16 -1 + 12 16 -2 =
(101.101)
2 = 4 + 1 + 1/2 + 1/16 =

3.2.

Converso de base decimal para uma base B

Vejamos agora o problema da converso de decimal para uma outra base. Ou seja o problema
de dado um nmero em Base 10 encontrar a representao do mesmo nmero noutra base
qualquer.
3.2.1

Parte inteira

Vamos considerar, primeiro, apenas a parte inteira. Para converter um nmero para base B
aplica-se o seguinte mtodo:

dividir (diviso inteira) sucessivamente por B at obter o quociente 0;


o resultado da converso obtm-se juntando, por ordem inversa, os restos dessas divises
inteiras sucessivas;

Note que, ao fazer uma diviso por B, o resto necessariamente um nmero menor que a base,
ou seja, este resto um algarismo da base. Deste modo, juntando os restos sucessivos estamos a
formar um nmero vlido na base B.

Daniel Silva

Arquitectura de Computadores

Pg. 13

Exemplo: pretende-se representar (1003)10 em octal


1003 : 8 = 125
125 : 8 = 15
15
:8 =1
1
:8 =0

8 +
8 +
8
+
8
+

3
5
7
1

o resultado (1753)8.
Exemplo: converter o mesmo nmero, mas agora para hexadecimal
1003 : 16 = 62 * 16 +
62 : 16 = 3 * 16 +
3
: 16 = 0 * 16 +

11
14
3

o resultado (3EB)16.
Exemplo: converter novamente o mesmo nmero, agora para binrio
1003 : 2 = 501 * 2
501 : 2 = 250 * 2
250 : 2 = 125 * 2
...

+
+
+

1
1
0

o resultado ( ...... 011)2.


3.2.2

Parte fraccionria

Vejamos agora a parte fraccionria. Aqui o mtodo consiste em multiplicar o nmero pela base
e recolher parte inteira do nmero resultante da multiplicao. Mais uma vez, repare que
multiplicando um nmero s com parte fraccionria (i.e. com parte inteira 0) pela base B se
obtm um nmero menor que B ou seja um algarismo da base.
Exemplo: converter (0.6328125) para octal
0.6328125 * 8 =
0.0625 * 8 =
0,5 * 8 =

5,0625
0,5
4,0

o resultado (0.504)8.
Assim: em cada passo multiplica-se o nmero pela base. A parte inteira do resultado d um
algarismo do nmero. Com a parte fraccionria do resultado repete-se o procedimento.
Eventualmente, como acontece neste exemplo, obtemos um resultado com parte fraccionria 0 e
o processo termina. Nestas condies obtemos uma converso exacta um nmero na base de
converso exactamente igual ao original.
Mas nem sempre o processo corre to bem. Vejamos estas duas converses de um nmero
decimal para binrio:
Exemplo: converter: converter (0.125)10 para binrio

Daniel Silva

Arquitectura de Computadores

Pg. 14

0.125
0.250
0.5

2=
2=
2=

0.250
0.5
1.0

resultado (0.125) 10 = (0.001) 2.


Exemplo: converter (0.2) 10 para binrio
0.2
0.4
0.8
0.6
0.2
...

2=
2=
2=
2=
2=

0.4
0.8
1.6
0.2
0.4

Neste caso o processo no termina. Alis, podemos at concluir que entra num padro de
repetio, originando uma "dzima peridica infinita".
Nestas condies o nmero decimal original no pode ser representado com exactido na base
2. Eventualmente paramos e ficamos com uma representao aproximada. Por exemplo, usando
um mximo de 20 dgitos na parte fraccionria, o resultado aproximado seria:
(0.0010 0010 0010 0010 001)2
3.2.3

Sntese

Est agora reunido o conjunto de instrumentos que vamos usar para converso entre bases.

Para converter de uma qualquer base para decimal, usa-se a expresso geral indicada na
seco 3.
Para converter de decimal para uma outra base B usa-se o mtodo de divises sucessivas
apresentado na seco 4.1.
Se o nmero tiver parte fraccionria, fazemos a converso separada da parte inteira e da
parte fraccionria. A esta ltima aplicamos o mtodo de multiplicaes sucessivas
apresentado na seco 4.2, tendo em conta que, neste caso, poder no ser possvel obter
uma converso exacta.
Finalmente, se o problema for uma converso entre duas bases, B1 e B2, ambas diferentes da
base 10, podemos:
o primeiro converter de B1 para base 10,
o e depois converter o resultado da base 10 para B2.

3.3.

Converses envolvendo as bases 2, 8 e 16

3.3.1

Binrio

Tudo o que se disse anteriormente vlido para binrio como para qualquer outra base. Mas em
binrio, havendo apenas dois dgitos, as expresses tomam em geral formas mais simplificadas
que permitem de alguma forma agilizar os processos de raciocnio.
Seja, por exemplo, a converso de um nmero binrio para decimal.
(101 1001)2 = 126 + 025 + 124 + 123 + 022 + 021 + 120

Daniel Silva

Arquitectura de Computadores

Pg. 15

As potncias de 2 multiplicam por 0 ou por 1 no primeiro caso para dar 0: no segundo caso
para dar a prpria potncia de 2. Ou seja, mais simplificadamente, podemos escrever:
(101 1001)2 = 26 + 24 + 23 + 1
esta expresso acaba por ter uma leitura muito directa: o que de facto interessa so os 1s do
nmero binrio; o valor decimal o que resulta das somas das potncias de 2 correspondentes
aos 1 do nmero binrio.
Para este e para muitos outros efeitos convm por vezes ter presentes os
valores das potncias de 2. Vale a pena decorar estes valores pelo menos
at 210.
Podemos assim imaginar um nmero binrio numa grelha onde os 1s
presentes tm o valor da potncia de 2 correspondente posio onde se
encontram
Peso

512 256 128


9

64

32

16

20
21
22
23
24
25
26
27
28
29
2 10

1
2
4
8
16
31
64
128
256
512
1024

Posio (expoente)

Considerando uma representao em binrio nesta grelha imaginria, o valor do nmero


representado a soma dos pesos dos 1s contidos nesse nmero.
Exemplo: Qual ser o valor de (101001100)2 ?
9

3.3.2

= 28 + 26 + 23 + 22 = 256 + 64 + 8 + 4

Converso de decimal para binrio mtodo das subtraces

O mesmo tipo de modelo poderia ser usado para converter de decimal para binrio. Trata-se,
afinal de contas, de colocar 1's na grelha at que a "soma" forme o nmero pretendido.
Seja, por exemplo, o nmero 300. claro que seria excessivo colocar um 1 na posio 29 (512)
ou mais para esquerda - isso faria desde logo o nmero maior que 512. Correcto colocar um 1
no posio 28(256), tendo em vista formar um nmero maior que 256 (e menor que 512).
Tendo colocado o primeiro 1 na posio de valor 256, falta obter os 1s respeitantes ao resto do
nmero, ou seja 44 (300-256). Aplicando o mesmo raciocnio, colocamos um 1 na posio
26(32) ficando a sobrar 12. E assim sucessivamente.
A este procedimento de converso de decimal para binrio chamamos mtodo das subtraes.
Em suma o processo consiste em:

decompor o nmero da soma de uma potncia de 2 com outro factor;


colocar 1 na posio correspondente potncia de 2 obtida;
repetir o procedimento para a diferena;

Daniel Silva

Arquitectura de Computadores

Pg. 16

Exemplo: converter o nmero 300 para base 2


300 =
44 =
12 =
4 =

256 + 44 -> 2
32 + 12 -> 2
8 + 4 -> 2
4 + 0 -> 2

8
5
3

3
1

O resultado (100101100)2.
3.3.3

Octal

A base fundamental para a computao digital obviamente a base 2. As outras bases de


trabalho importantes so a base 8 (octal) e a base 16 (hexadecimal) elas prprias potncias
naturais de 2.
Acontece que h uma relao muito simples entre a representao de um nmero em binrio e a
representao do mesmo nmero em octal ou hexadecimal (ou, em geral, numa qualquer outra
base que seja potncia de 2). De certa forma a representao nestas bases pode ser vista como
uma forma compacta de representao em binrio e este realmente o seu principal interesse.
A relao de octal para binrio de um para trs dgitos. Para converter um nmero de octal
para binrio substitui-se cada dgito pela respectiva representao em binrio, usado trs bits.
Ao contrrio, para converter um nmero de binrio em octal, substitui-se cada grupo de 3 bits
por um algarismo octal.
Para estas converses convm decorar a seguinte tabela que lista os nmeros binrios de 0 a 7
(representados em trs bits).
Para decorar a tabela basta ter presente a grelha de trs bits.
4

0
1
2
3
4
5
6
7

Por exemplo:
1

101 4 + 1 = 5

110 4 + 2 = 6

000
001
010
011
100
101
110
111

Usando esta tabela podemos facilmente converter um nmero de octal para binrio:
(163)8 = (001 110 011)2 = (1110011)2
(32.04)8 = ( 011 010 . 000 100 ) 2 = ( 11010.0001) 2
Igualmente podemos fazer as converses contrrias, se necessrio juntando 0s esquerda da
parte inteira ou direita da parte fraccionria:
(11001)2 = (011 001)2 = (31) 8
(11011.01101) 2 = (011 011.011 010) 2= (33.32)8

Daniel Silva

Arquitectura de Computadores

Pg. 17

3.3.4

Hexadecimal

O interesse da base 16 (hexadecimal) semelhante ao do octal.


uma representao compacta de binrio em que a cada dgito
hexadecimal correspondem 4 dgitos binrios.
Para fazer a correspondncia conveniente decorar a seguinte tabela.
Para decorar a tabela basta ter presente a grelha de colocao,
agora com 4 bits.
8

1001 8 + 1 = 9

1100 8 + 4 = 12 = C

1110 8 + 4 + 2 = 14 = E

Exemplos:

0
1
2
3
4
5
6
7

0
1
2
3
4
5
6
7

0000
0001
0010
0011
0100
0101
0110
0111

8
9
10
11
12
13
14
15

8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111

Com base nestas tabelas podemos facilmente converter nmeros de hexadecimal para binrio.
Exemplo:
(3A.0E)16 = (0011 1010 . 0000 1110)2 = ( 111010. 0000111)2
3.3.5

Converso de octal para hexadecimal

Para converter rapidamente entre octal e hexadecimal o mais fcil usar a converso intermdia
para binrio.
Assim, por exemplo para converter um nmero de hexadecimal para octal pode:
1. converter para binrio, fazendo corresponder 3 dgitos binrio a cada dgito octal;
2. reagrupar em grupos de 4 dgitos, se necessrio acrescentando 0 esquerda da parte inteira
ou direita da parte fraccionria;
3. converter em hexadecimal, fazendo corresponder um dgito hexadecimal a cada grupo de 4
dgitos binrio
Exemplo:
(1A.0E)16 = (0001 1010 . 0000 1110)2 = (011 010 . 000 011 100) 2= (32.034)8

3.4.

Outras consideraes

Num computador os bits aparecem organizados segundo grupos ou palavras. Por exemplo,
quando se diz que um computador segue uma arquitectura de 32 bits porque existem
elementos fundamentais dessa mquina e operaes nela realizadas que ocorrem em blocos de
32 bits.

Daniel Silva

Arquitectura de Computadores

Pg. 18

Seja, por exemplo, uma palavra de 4 bits. Com 4 bits possvel fazer 24 combinaes binrias
diferentes, de 0000 a 1111. A primeira corresponde ao nmero 0 e a ltima corresponde ao
nmero 15 o maior nmero inteiro que possvel representar usando apenas 4 bits.
Em geral, com N bits:

conseguem-se fazer 2N combinaes binrias diferentes;


o maior nmero inteiro sem sinal representvel 2N 1 (o nmero seguinte seria 2N mas
nesse caso j seriam necessrios N+1 bits para o representar).

Uma sequncia de 8 bits vulgarmente designada por byte. Com um byte conseguem-se 28 =
256 combinaes binrias diferentes. O maior nmero 1111 1111 que vale 255 (FF em
hexadecimal, ou 377 em octal).
O nmero 210, 1024, vulgarmente designado por 1 Kilo (K). Muitas vezes relaciona-se 1K
com 10 bits, na medida em que com 10 bits podem-se fazer as tais 210 ou seja 1024
combinaes.
Com 11 bits temos 2K combinaes e com 12 bits temos 4K combinaes, ou seja:
211 = 2 210 = 2K
212 = 22 210 = 4K
Da mesma forma relaciona-se 1 Mega (M) com 20 bits e 1 Giga (G) com 30 bits:
1M = 220
1G = 230.

Daniel Silva

Arquitectura de Computadores

Pg. 19

Vous aimerez peut-être aussi