Você está na página 1de 11

47

ORGANIZAO DE COMPUTADORES
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
Unidade III
5
10
15
20
6 CIRCUITOS DIGITAIS
6.1 Sistemas de numerao
O que quer dizer 14?
Sabemos, por fora de educao e hbito, que os algarismos
1 e 4 colocados desta forma representam a quantidade catorze.
No precisamos de nenhuma ferramenta para chegar a essa
concluso. Mas isso s verdade se estivermos utilizando o
sistema decimal, de base dez.
Os algarismos 14 poderiam representar as quantidade 20 ou
12, dependendo da base que estiver sendo usada, assim como
os caracteres XIV tambm representam a quantidade catorze, se
estivermos utilizando algarismos romanos.
O sistema decimal utilizado hoje de forma padronizada no
dia a dia, seja no comrcio ou em transaes bancrias. No
h necessidade de esclarecer se o valor est expresso na base
decimal ou no.
Mas nem sempre foi assim. Diversos povos criaram diversas
formas de representar quantidades, e algumas sobrevivem at
hoje em nosso cotidiano.
Por exemplo, por que estamos acostumados a comprar certas
mercadorias em dzias? Ou por que um minuto tem sessenta
segundos e uma hora tem sessenta minutos? Talvez estes sejam
fsseis culturais de sistemas que utilizavam a base doze ou a
base sessenta, em vez da base dez.
48
Unidade III
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
12
10
14
8
Figura 29 Uma mesma quantidade pode ser representada de formas diferentes
Existem indcios do uso no passado de vrias outras bases
e sistemas numricos, alm desses, como a base vinte, que
ainda pode ser encontrada em certas expresses do idioma
francs, como quatre vingt (quatro vezes vinte) para expressar a
quantidade oitenta.
Um sistema numrico conhecido que ainda usado o
sistema romano. Ele usa os caracteres I, V, X, L, C, D e M para
formar valores numricos e totalmente diferente (e muito
mais complexo) do sistema decimal, principalmente por no ter
o conceito de posio que existe em sistemas de nmeros-base,
como o decimal.
Para representar a quantidade 419 no sistema romano,
usa-se a representao CDXIX. No nosso objetivo aqui
explicar o funcionamento do sistema romano, mas, apenas
para descrever este exemplo, o funcionamento o seguinte:
500 menos 100 (CD) mais 10 (X) mais 9, ou 10 menos 1 (IX).
6.2 Sistema de nmeros-base
O sistema decimal baseado no conceito de aritmtica de
posio. Isso quer dizer que cada casa de um valor expresso no
sistema decimal corresponde a uma potncia da base.
Como funciona? Partindo da direita para a esquerda, a
primeira casa representa a base elevada potncia 0, a segunda
casa representa a casa elevada potncia 1, a terceira representa
a casa elevada segunda potncia, e assim por diante.
5
10
15
20
49
ORGANIZAO DE COMPUTADORES
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
Ao representar um valor como 419, podemos traduzi-
lo rapidamente para quatro centenas, uma dezena e nove
unidades.
4
1 9
Posio de 100
(10
2
)
Posio de 10
(10
1
)
Posio de 1
(10
0
)
Figura 30 A forma de um nmero decimal
O sistema decimal o mais comum, mas usamos outras bases.
Dentro da computao, s vezes necessrio usar as bases 2, 8
ou 16. Esses sistemas so chamados de binrio (base 2), octal
(base 8) e hexadecimal (base 16).
Para representar quantidades nesses sistemas usamos
algarismos organizados da seguinte forma: um sistema numrico
de base k requer k smbolos diferentes para representar os
dgitos 0 a k -1. Seguindo esse raciocnio, os nmeros do sistema
decimal so formados a partir de dez dgitos:
0 1 2 3 4 5 6 7 8 9
O sistema binrio usa a base 2 e os seus nmeros so
construdos a partir de apenas dois dgitos:
0 1
Os nmeros octais usam a base 8 e utilizam oito dgitos para
formar seus nmeros:
0 1 2 3 4 5 6 7
O sistema hexadecimal usa a base 16 e precisa de dezesseis
algarismos para representar quantidades. Dessa forma, so
necessrios outros smbolos, alm dos nmeros de 0 a 9. Por
5
10
15
20
50
Unidade III
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
conveno, usam-se as letras de A a F para representar esses
valores. Assim, os nmeros hexadecimais utilizam os seguintes
caracteres para expressar quantidades:
0 1 2 3 4 5 6 7 8 9 A B C D E F
Nos quatro sistemas (binrio, octal, decimal e hexadecimal)
o funcionamento o mesmo, variando apenas a base usada. A
casa mais direita corresponde casa de potncia 0 (2
0
, 8
0
, 10
0
e
16
0
), a casa seguinte esquerda corresponde casa de potncia
1 (2
1
, 8
1
, 10
1
e 16
1
) e assim por diante, sempre adicionando uma
unidade ao expoente da base medida que se vai da direita para
a esquerda.
Pode parecer complexo a princpio, mas todos os sistemas
funcionam de forma anloga ao sistema decimal, que utilizamos
no dia a dia. Basta substituir os conceitos de unidade, dezena e
centena por 10
0
, 10
1
e 10
2
e a compreenso das outras bases ca
muito mais simples.
Segue abaixo a representao de uma mesma quantidade
(419) nas bases 2, 8, 10 e 16.
Binrio 1 1 0 1 0 0 0 1 1
1 x 2
8
1 x 2
7
0 x 2
6
1 x 2
5
0 x 2
4
0 x 2
3
0 x 2
2
1 x 2
1
1 x 2
0
256 +128 +0 +32 +0 +0 +0 +2 +1
Octal 6 4 3
6x8
2
4 x 8
1
3x 8
0
384 +32 +3
Decimal 4 1 9
4x10
2
1 x 10
1
9x 10
0
400 +10 +9
Hexadecimal 1 A 3
1x16
2
10 x
16
1
3x 16
0
256 +160 +3
Figura 31 A quantidade 419 expressa em binrio, octal, decimal e hexadecimal
5
10
15
51
ORGANIZAO DE COMPUTADORES
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
Se executarmos as somas apontadas, veremos que todas as
representaes se referem ao mesmo valor, a nica diferena
a base.
Na tabela abaixo temos as representaes em binrio, octal
e hexadecimal para os valores decimais de 0 a 32.
Decimal Binrio Octal Hexadecimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
17 10001 21 11
18 10010 22 12
19 10011 23 13
20 10100 24 14
21 10101 25 15
22 10110 26 16
23 10111 27 17
24 11000 30 18
25 11001 31 19
26 11010 32 1A
27 11011 33 1B
28 11100 34 1C
29 11101 35 1D
30 11110 36 1E
31 11111 37 1F
32 100000 40 20
Tabela 3 Correspondncia entre bases
5
52
Unidade III
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
6.3 Por que binrio?
Muitas pessoas devem se perguntar por que os engenheiros
de computadores decidiram usar o sistema binrio em vez do
decimal, muito mais natural para todos os usurios (pelo menos
atualmente).
A questo meramente prtica. Conforme vimos acima,
para representar qualquer valor em binrio precisamos de
apenas dois smbolos. muito mais simples criar um dispositivo
que possa detectar dois estados em um circuito eltrico, aceso
e apagado, ou a presena de sinal eltrico e a ausncia de sinal
eltrico.
Para criar um equipamento que usasse o sistema decimal
internamente seria necessrio que ele pudesse detectar dez
estados eltricos diferentes. Fazendo analogia com uma
lmpada, imagine como pode ser possvel identicar do estado
totalmente aceso ao totalmente apagado com oito estados
intermedirios. Se complexo fazer isso a olho nu, imagine como
seria criar um equipamento que pudesse executar essa deteco
com nveis eltricos baixssimos a alta velocidade, dentro de um
microprocessador.
Um pequeno erro de deteco de um nvel para outro pode
provocar erros graves de processamento. Por esse motivo, ainda
hoje considerado mais fcil detectar dois nveis eltricos
apenas: voltando analogia da lmpada, apenas totalmente
aceso ou totalmente apagado.
Se um dia houver tecnologia capaz de lidar com dez (ou mais)
nveis eltricos, talvez no precisemos mais usar o binrio.
6.4 Converso entre bases
Um valor em decimal expressa uma quantidade que pode
tambm ser expressa em outras bases.
5
10
15
20
25
53
ORGANIZAO DE COMPUTADORES
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
Existem vrias tcnicas para converter de uma base para
outra. Para converter a partir de binrio para octal, basta agrupar
os algarismos em grupos de trs. Cada grupo de trs dgitos
binrios dar origem a uma casa do nmero em octal.
Para fazer a converso entre binrio e hexadecimal, o
mecanismo o mesmo, bastando usar grupos de quatro dgitos
em vez de trs. Caso seja necessrio, complete o ltimo grupo
esquerda com zeros (o zero esquerda no signicativo,
independentemente da base).
Veja um exemplo desses mtodos na gura abaixo.
Hexadecimal
Binrio
Octal
1 A 3
6 4 3
1 1 0 1 0 0 0 1 1
Figura 32 Converso de binrio para octal e hexadecimal
A converso de decimal para binrio pode ser feita de
duas formas distintas. A primeira forma consiste em subtrair
potncias de 2 do valor decimal. Comeamos identicando
qual a maior potncia de 2 que pode ser subtrada do valor
decimal.
Vamos usar o nmero 419 como exemplo. A maior potncia
de 2 que pode ser subtrada dele 256 (2
8
); a potncia seguinte
seria 512, que no pode ser subtrada de 419 sem deixar um
valor negativo. A partir do resto da subtrao (163), repetimos o
processo. A maior potncia de 2 que pode ser subtrada de 163
128 (2
7
). O resto dessa subtrao 35, e repetimos esse processo
at que a subtrao resulte em zero. Dessa forma, as potncias
usadas foram: 256 (2
8
), 128 (2
7
), 32 (2
5
), 2 (2
1
) e 1 (2
0
). A soma
desses valores corresponde ao valor original: 419.
5
10
15
20
54
Unidade III
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
Dessa forma, as casas do nmero binrio que foram
selecionadas correspondem a 1, as casas que no foram usadas
(potncias 6, 4, 3 e 2) recebero zero.
1 1 0 1 0 0 0 1 1 =2
8
+ 2
7
+ 2
5
+ 2
1
+ 2
0
= 256 + 128 + 32 + 2 + 1
Figura 33 Converso de decimal para binrio
A outra forma de converso de decimal para binrio
usa divises sucessivas por dois. Aps a primeira diviso,
divide-se o quociente por dois novamente at chegar a um
quociente zero.
O nmero binrio ser formado pelos restos das divises,
sendo que o ltimo resto corresponder casa mais esquerda
e o primeiro casa mais direita.
419 2
1 209 2
0 52 2
1 104 2
0 26 2
0 13 2
1 6 2
0 3 2
1 1 2
1 0
Figura 34 Converso de decimal para binrio
No h diferena fundamental entre as duas tcnicas, visto
que o resultado deve ser sempre o mesmo.
A converso de decimal para octal e hexadecimal pode
ser feita convertendo-se o nmero em decimal para binrio
e depois para as outras bases, ou usando as mesmas tcnicas
de converso de decimal para binrio, mas usando as bases 8
ou 16.
5
10
15
55
ORGANIZAO DE COMPUTADORES
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
Para converter de octal para hexadecimal ou
vice-versa, a forma mais simples converter o valor para
binrio e depois para a base-destino, usando a tcnica de
agrupamento de bits.
6.5 Soma e subtrao em bases no decimais
Para entender como realizar a soma e a subtrao em bases
diferentes da base decimal, vamos rever com um pouco de
detalhes como fazemos a soma.
Vamos utilizar como exemplo a soma dos valores 93 e 9.
9 3
+ 9
1 0 2
1 1
Vai um Vai um
Figura 35 Soma decimal
Todos sabemos que em uma soma de 3 e 9, devemos usar
o vai um, transportando uma unidade para a prxima casa.
O mesmo feito com a soma de 9 mais o 1 que veio da casa
anterior.
Mas o que quer dizer isso?
Essas tcnicas que conhecemos desde o ensino fundamental
fazem parte do funcionamento da aritmtica de base, conforme
vimos no decorrer deste captulo.
Quando somamos 3 e 9 e obtemos 12, uma casa decimal
no pode comportar esse valor, pois cada casa decimal pode
conter apenas os valores de 0 a 9. Por isso necessrio
5
10
15
56
Unidade III
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
transportar unidades de base para a prxima casa. No caso,
transportamos uma unidade, e a diferena (2) ficou na casa
original.
Temos que lembrar que, medida que avanamos para a
esquerda nas casas decimais, aumentamos o expoente da base,
por esse motivo o 10 na primeira casa vira 1 na segunda casa.
Isso tudo pode parecer extremamente confuso, mas apenas
porque nos habituamos a fazer essas operaes de forma
automtica.
A subtrao funciona da mesma forma. Vamos usar como
exemplo a subtrao de 94 de 103.
1 0 3
- 9 4
0 0 9
9
Empresta um Empresta um
10 10
Figura 36 Subtrao decimal
Aqui tambm o conceito de sistema de base est presente,
mas funciona de forma oposta. Ao invs de transportarmos
unidade de base em excesso da direita para a esquerda, temos
que emprestar unidades de base faltantes da esquerda para a
direita.
De forma anloga soma, quando trazemos unidade de
base de uma casa esquerda, ela vale uma unidade de potncia
a mais, ou seja, o 1 da terceira casa vem para a segunda casa
valendo 10.
Esse mesmo mecanismo de funcionamento pode ser aplicado
a qualquer base no decimal.
5
10
15
20
57
ORGANIZAO DE COMPUTADORES
1
R
e
v
i
s

o
:

E
d
u
a
r
d
o

/

D
i
a
g
r
a
m
a

o
:

F
a
b
i
o

3
1
/
0
3
/
0
9
Se entendermos o funcionamento do sistema de nmeros-
base, a operao apresentada a seguir no parecer nem um
pouco estranha, desde que se saiba que estamos usando a base
binria, claro.
1
+ 1
1 0
Figura 37 Soma binria
Como estamos tratando da base 2, cada casa pode apenas
representar os valores 0 e 1, portanto, se a soma ultrapassar
1, devemos transportar uma unidade de base para a prxima
casa.
Novamente, da mesma forma deveremos proceder no caso
de somas na base hexadecimal, lembrando que cada casa
pode conter os valores de 0 a F (sendo que F corresponde
quantidade 15).
9 E
+ 8 E
1 2 C
Figura 38 Soma hexadecimal
5
10

Você também pode gostar