Vous êtes sur la page 1sur 22

Fundamentos da Informtica

Professor Pedro Torres







Os computadores armazenam e manipulam a informao na forma de nmeros.
Instrues de programas, dados numricos, caracteres alfanumricos, so todos
representados por meio de combinaes de algarismos numricos, as quais so
interpretadas, manipuladas e transformadas em formatos reconhecveis pelo Ser Humano,
medida que o computador executa suas tarefas.

Embora o sistema numrico padro seja o decimal, onde dez algarismos (0 a 9) so
usados para representar todos os nmeros, os computadores adotam internamente o
sistema binrio, onde apenas os algarismos 0 e 1 so usados na composio dos nmeros.
O uso do sistema binrio apresenta vantagens importantes sob o ponto de vista da
construo e operao dos computadores:
Cada um dos algarismos binrios, 0 e 1, representado por um valor de tenso
especfico nos circuitos eletrnicos dos computadores. Desta forma o
armazenamento e a manipulao de informao em um computador feito
apenas com dois valores de tenso eltrica.
Os programas de computadores so escritos por meio de sentenas matemticas
(expresses algbricas), as quais expressam a lgica das tarefas a serem
executadas pela mquina, e delimitam os resultados numricos que podem ser
obtidos a partir dos valores de entrada. A forma algbrica mais eficiente de
representao de expresses lgicas, conhecida como lgebra booleana, baseada
no sistema binrio de numerao.
Deste modo, por razes tecnolgicas e conceituais, os nmeros binrios e a lgebra
booleana formam a base de operao dos computadores atuais.

















1. Sistema Binrio de Numerao
Embora use apenas um subconjunto dos algarismos decimais, o sistema binrio adota
as mesmas regras do sistema decimal para a representao de grandezas numricas e para
as operaes aritmticas. De fato, o uso de sistemas numricos diferentes na escrita de
um mesmo nmero, no altera a quantidade representada, desde que os sistemas adotem
uma notao consistente, conforme descrito a seguir.

1.1 O Conceito de Nmero
Nmeros so expresses de quantidades. Por definio, um nmero uma relao que
existe entre qualquer quantidade e uma outra, tomada como termo de comparao, a que
se chama unidade.

1.1.1 Numerais
Os smbolos usados para representar os nmeros so chamados numerais. De forma
geral, os sistemas numricos possuem um conjunto limitado de numerais primitivos,
chamados de numerais de valor prprio, ou simplesmente de algarismos, com os quais
possvel gerar os numerais para todos os nmeros. A quantidade de algarismos de um
sistema chamada de base do sistema, como no sistema decimal onde a base 10
porque este possui dez algarismos: 0, 1, 2, ..., 9.

1.1.2 Sistemas Numricos
O sistema decimal um sistema posicional, significando que o valor representado por
cada algarismo de um numeral deve ser multiplicado por uma potncia da base, a qual
funo da posio ocupada pelo algarismo no numeral. Seja por exemplo, o nmero
6903:

6903 = 6 x 10
3
+ 9 x 10
2
+ 0 x 10
1
+ 3 x 10
0

6903 = 6.000 + 900 + 0 + 3

Atualmente apenas os sistemas posicionais tm uso comercial corrente, mas existem
sistemas com regras de representao diferentes, como por exemplo o sistema romano de
numerao.
Bases menores que 10 utilizam os algarismos arbicos.
Bases maiores que 10 adicionam letras maisculas para representar os valores
acima de 9.

Exemplo:
Base 2: 0 1
Base 4: 0 1 2 3
Base 8: 0 1 2 3 4 5 6 7 8
Base 12: 0 1 2 3 4 5 6 7 8 9 A B
Base 16: 0 1 2 3 4 5 6 7 8 9 A B C D E F
Para evitar confuso, todo nmero escrito em base diferente de 10 deve indicar a base
sobrescrita direita do nmero:
11011 (est em decimal)
11011
2
(27 em decimal)
11011
4
(325 em decimal)
11011
8
(4617 em decimal)
11011
12
(22477 em decimal)
11011
16
(69649 em decimal)

1.2 Nmeros Binrios
O sistema binrio um sistema com notao posicional que usa somente os
algarismos 0 e 1. Quando um nmero escrito no sistema binrio, os dgitos individuais
representam os coeficientes de potncias de 2, de modo anlogo ao feito para as potncias
de 10 no sistema decimal. Seja um nmero qualquer escrito em binrio, como por
exemplo 101:

101b = 1 x 2
2
+ 0 x 2
1
+ 1 x 2
0

101b = 4 + 0 + 1 = 5d
Nas frmulas acima, por questo de clareza, adicionamos aos nmeros o prefixo b,
para indicar a base binria e o prefixo d no caso de representao em decimal. Notamos
que ambas as representaes 101 e 5 expressam a mesma quantidade, usando porm
sistemas numricos diferentes, como nos exemplos adicionais da tabela a seguir, onde os
dezesseis primeiros nmeros decimais so representados em binrio.

DECIMAL BINRIO DECIMAL BINRIO
0 0 8 1000
1 1 9 1001
2 10 10 1010
3 11 11 1011
4 100 12 1100
5 101 13 1101
6 110 14 1110
7 111 15 1111
Tabela 1: Correspondncia entre os dezesseis primeiros numerais decimais e binrios.

2. Nmeros Reais e Converses de Bases
Um nmero que no inteiro pode ser expresso usando a notao de vrgula decimal.
O decimal 1,8125 tem o significado numrico:

1,8125 = 1 x 10
0
+ 8 x 10
-1
+ 1 x 10
-2
+ 2 x 10
-3
+ 5 x 10
-4

1,8125 = 1 + 0,8 + 0,01 + 0,002 + 0,0005

Do mesmo modo, podemos expressar um nmero binrio fracionrio, usando a
notao de vrgula binria:

1,1101 = 1 x 2
0
+ 1 x 2
-1
+ 1 x 2
-2
+ 0 x 2
-3
+ 1 x 2
-4


Assim, dgitos a direita da vrgula binria so coeficientes de 2-n, onde n a
distncia do algarismo direita da vrgula binria. Em aritmtica decimal, movendo-se a
vrgula decimal k casas para a esquerda ou direita, divide-se ou multiplica-se,
respectivamente, o nmero por 10k. No sistema binrio, este deslocamento divide ou
multiplica por 2k.

2.1 Converso entre Binrio e Decimal
Tendo em vista que as representaes binria e decimal no alteram a quantidade
representada, possvel converter nmeros expressos em decimal para seu equivalente
com numerais binrios e vice-versa.

2.1.1 Converso para Decimal
A converso de um nmero binrio para um nmero decimal obtida usando a
aritmtica ilustrada nas frmulas anteriores.

Ex.1: Converter o nmero binrio 1001 para a base 10:
1001b = 1 x 2
3
+ 0 x 2
2
+ 0 x 2
1
+ 1 x 2
0
= 8 + 0 + 0 + 1 = 9d
Ex.2: Converter 1,0110b para a base 10:
1,0110b = 1 x 2
0
+ 0 x 2

1
+ 1 x 2

2
+ 1 x 2

3
+ 0 x 2

4
= 1 + 0 + 0,25 + 0,13 + 0 = 1,38d

2.1.2 Converso para Binrio
A converso de um nmero decimal N para binrio feita facilmente usando as
seguintes regras:

Caso N seja inteiro, por exemplo, N = ... x8x4x2x1,000...

Onde os xs so 0s e 1s e os ndices indicam a significncia numrica a ser
atribuda a cada dgito binrio, de acordo com sua posio.
Divide-se N por 2, mantendo o quociente na forma inteira. Como cada diviso
move a vrgula binria uma casa para a esquerda, temos:
N/2 = ...x8x4x2x1,/2 = ...x8x4x2 + resto x1
Assim, o dgito menos significativo x
1
o resto, e o quociente um novo nmero
N =...x
8
x
4
x
2
, onde x
2
passou a ser o dgito menos significativo. Uma sequncia de
divises por 2 resultar na forma binria de N atravs dos restos.







Ex.: Converter o decimal 19 para a base 2:
19 2
1 9 2
1 4 2
0 2 2
0 1 2
1 0 19d = 10011b

Caso N seja menor que 1, por exemplo N = ...000,x
1/2
x
1/4
x
1/8
...

Pode-se testar se x
1/2
0 ou 1 multiplicando-se N por 2. Se x
1/2
for 1, o produto 2N ser
maior que 1; se x
1/2
for 0, 2N ser menor que 1. A multiplicao por 2 move a vrgula
binria uma casa para a direita, movendo consequentemente, x
1/4
para a posio de
x
1/2
. A representao binria pode ser encontrada atravs de sucessivas multiplicaes
por 2.
Ex.: Converter o decimal 0,69 para a base 2: 0,69 x 2 = 1,38
0,38 x 2 = 0,76
0,76 x 2 = 1,52
0,52 x 2 = 1,04
0,04 x 2 = 0,08
0,08 x 2 = 0,16 0,69d = 0,101100...b
Caso N seja fracionrio e maior que 1

A converso, neste caso, feita separadamente, conforme as regras dos casos anteriores,
e os resultados so combinados.
Ex.: Converter o decimal 19,69 para a base 2:

Converter a parte inteira
19d = 10011b, conforme visto no item 1.
Converter a parte fracionria

0,69d = 0,101100b, conforme visto no item 2.
Unir as partes

19,69d = 10011,101100b


3. Outras Bases Numricas
Pode-se definir de um nmero ilimitado de sistemas, alm dos sistemas decimal e
binrio vistos. Os mais teis entretanto, para uso em computao, so os sistemas com
bases octal e hexadecimal.

3.1 Sistema Octal
Neste sistema so usados os algarismos decimais de 0 a 7. Todo nmero neste
sistema expresso como uma soma de potncias de 8 multiplicadas por coeficientes
apropriados, que so os prprios dgitos do nmero.

3.2 Sistema Hexadecimal
No sistema hexadecimal a base 16, sendo usados os dez algarismos decimais 0, 1,
2,...,9 para representar os dez primeiros algarismos hexadecimais, com os outros seis
algarismos adicionais sendo representados pelas letras A, B, C, D, E e F. Todo nmero
neste sistema expresso como uma soma de potncias de 16 multiplicadas por
coeficientes apropriados, que so os prprios dgitos do nmero.
A relao especial entre os sistemas octal e hexadecimal e o sistema binrio resulta
do fato de que trs dgitos binrios podem representar exatamente oito (23) nmeros
diferentes e que quatro dgitos binrios podem representar dezesseis (24) nmeros
diferentes.

3.2.1 Converses do Sistema Hexadecimal
As converses deste sistema segue as mesmas regras do sistema octal, lembrando
que: cada dgito hexadecimal corresponde a quatro dgitos binrios e cada dgito octal
corresponde a trs dgitos binrios.

Ex.: Correspondncia das bases 2, 8 e 16:

2 3 7 4 e 6 4 5 2 => octal
1 0 0 1 1 1 11 1 0 0 e 1 1 0 1 0 0 1 01 0 1 0 => binrio
4 F C e D 2 A => hexadecimal

De Hexadecimal para Decimal
Ex.: Converter 7AB016 para a base 10. Lembrar que A=10, B=11, C=12, D=13, E=14 e
F=15.
7AB016 = 7 x 16
3
+ 10 x 16
2
+ 11 x 16
1
+ 0 x 16
0
= 28.672 + 2.560 + 176 + 0 =
31.40810

De Decimal para Hexadecimal
Ex.: Converter 198910 para a base 16:
1989 | 16
------
5 124 | 16
------
12 7 => ou seja, 1989
10
= 7C5
16



De Hexadecimal para Octal
Neste caso, passa-se primeiro para a base binria e a seguir para a base octal. Ex.:
Converter 1F16 para a base 8:
1 F
----- ------
0001 1111 = 00 011 111
--- ----- ----
0 3 7 ==> 1F16 = 378

De Octal para Hexadecimal
Ex.: Converter 558 para a base hexadecimal:

5 5
---- ----
101 101 = 10 1101
--------
2 D => 558 = 2D16

A tabela a seguir mostra as formas de se escrever a mesma quantidade, nos
sistemas decimal, hexadecimal, octal e binrio, para valores entre 0 e 15 (decimal).

Decimal Hexadecimal Octal Binrio
0 0 0 0

1 1 1 1

2 2 2 10

3 3 3 11

4 4 4 100

5 5 5 101

6 6 6 110

7 7 7 111

8 8 10 1000

9 9 11 1001

10 A 12 1010

11 B 13 1011

12 C 14 1100

13 D 15 1101

14 E 16 1110

15 F 17 1111


4. Representao de Nmero Negativos
A desvantagem do desperdcio de um bit, apenas para armazenamento de sinal,
foi resolvida adotando-se as chamadas notaes de complemento onde o dgito mais
significativo usado ao mesmo tempo para representao do sinal (segundo a conveno
de sinal e magnitude), e de parte do nmero. A conveno adotada que nmeros
positivos tm sua representao em complemento idntica a representao normal
(devem ser sempre no entanto iniciados com zero); no caso da representao negativa
que existiro diferenas, mas sempre um nmero negativo dever comear com 1.

4.1 Sinal magnitude
Se quisermos representar um nmero com sinal, um bit (o mais significativo)
acrescentado esquerda do nmero para indicar o sinal, segundo a conveno:

Bit mais a esquerda = 1. Nmero negativo

Bit mais a esquerda = 0. Nmero positivo

Deste modo, um nmero com n bits, composto por um sinal (bit mais a esquerda) e
por uma mantissa, onde esto as partes inteiras e fracionria. Normalmente, ao ser
armazenado em memria, o sinal colocado junto a parte inteira do nmero.
x
n-1
x
n-2
...x
2
x
1
x
0
| \__________/

sinal magnitude (partes inteira e fracionria)

4.2 Complemento de 1
Seja, por exemplo, um nmero inteiro positivo N com b bits, onde o bit mais
significativo deve ser zero. O seu equivalente negativo representado em complemento de
1 calculado subtraindo-se cada dgito de N de 1:

5
10
= 0101 => complemento de 1 =>1111
0101
2
-
------
1010
2
= -5
10

Por estar em base binria, o complemento de 1 tambm pode ser obtido de forma
mais simples do que pela definio, simplesmente complementando-se (invertendo-se) os
bits do nmero, substituindo-se zeros por uns e vice-versa.
O complemento de 1 no resolve o problema da dupla representao do zero,
representado por 0000 e 1111, mas permite operaes aritmticas mais simples do que
com nmeros representados em sinal e magnitude.

- 4
10
1 0 1 1
2

+ 1
10
0 0 0 1
2
+
------ ----------
- 3
10
1 1 0 0
2
= - 310, correto!

A resposta obtida o nmero negativo -3, representado em complemento de 1.
Entretanto quando dois nmeros negativos so somados, o bit de carry deve ser
adicionado ao resultado para obteno do valor correto, como no exemplo a seguir:
- 2
10
1 1 0 1
2

- 4
10
1 0 1 1
2

------ -----------
- 6
10
1 1 0 0 0
2
( = - 710 = errado!!)

Somando-se o carry ao resultado tem-se:
1 0 0 0
2

0 0 0 1
2
+ (bit de carry)
----------
1 0 0 1
2
( = -6
10
= correto.)

4.3 Complemento de 2
A soluo para os problemas do dupla representao do zero e de aritmtica com
nmeros negativos surgiu com a definio do complemento de 2, obtido atravs dos
passos:
Calcule o complemento de 1 do nmero
Some 1 ao valor calculado para obter o complemento de 2.
O uso do complemento de 2 elimina a necessidade de subtraes nos
computadores, simplificando o hardware. A subtrao feita somando-se ao minuendo o
complemento de 2 do subtraendo. O bit de carry final do resultado deve ser desprezado.

71
10
0 1 0 0 0 1 1 1
2

35
10
- 1 1 0 1 1 1 0 1
2
+
----- --------------------
36
10
1 0 0 1 0 0 1 0 0
2
= 36
10


Quando o resultado for negativo, o que se obtm o seu complemento de 2.

35
10
0 0 1 0 0 0 1 1
2

71
10
- 1 0 1 1 1 0 0 1
2
+
----- --------------------
- 36
10
1 1 1 0 1 1 1 0 0
2
= DC
16
(complemento de 2 de - 3610)
4.4 Complemento de 9
O complemento de 9, ou seja, da base -1, usado para representar os nmeros
negativos. Assim, uma subtrao pode ser transformado em uma soma:

diminuendo + ( subtraendo) = resultado

*O que est em parnteses a representao do subtraendo em C-9

Para converter um nmero para C-9 deve-se substituir cada dgito pelo o que falta para
chegar a 9. Por exemplo:
385 614
614 o C-9 de 385, o 614 a representao de 385
Lembre-se que para a esquerda de um nmero convencional devemos colocar zeros, no
caso do C-9 devemos completar com noves:
00385 99614
Se no resultado da soma aparece um nmero sobrando, este deve ser somado ao
resultado, e se o nmero nove aparecer, significa que o nmero representado negativo e
deve ser complementado para chegar ao resultado final:

123-67 = 56 123 + 932 = 1055 (sobra = 1)

1 + 055 = 056 (resultado)

145-234 = -89 00145 + 99765 = 99910 (sem sobras, o resultado negativo)
Complementando o 99910 fica 00089, negativo.

5. Excesso n
A representao de Excesso-N usa um nmero pr-especificado N como um valor
de polarizao. Um valor representado pelo nmero sem sinal que N unidades maior
do que o valor pretendido. Assim, 0 representado por N, e -N representado pelo
padro de bits zeros (tudo zerado).
Esta uma representao que agora utilizada principalmente em nmeros de ponto
flutuantes.

Excesso-127: 8 bits 2
(8-1)
-1
Excesso-1023: 11 bits 2
(11-1)
-1
? 127= -3
*124 127= -3
0 1 1 | | 1 0 0
0 0 0 0 0 0 0 0 -127
0 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 + 128

LEMBRE-SE: acumulo de bias, deve sempre ser acrescentado no resultado final
bias
+ bias
2 bias
6. Tipos de Informao
A informao representada num computador atravs de sequncias binrias. Cada
dgito binrio chamado de bit (binary digit), o componente bsico da representao de
informao, sendo Os conjuntos de 4 e 8 bits chamados respectivamente de nibble e
byte. A informao, para ser armazenada e utilizada em um computador, deve existir
na forma de uma entidade, a qual pode ser composta por um nmero arbitrrio de bits,
ocupando uma ou mais palavras na memria do computador. Os tipos bsicos de
entidades so mostrados no diagrama a seguir.
Instrues /Ponto fixo
/ /
Informao Numricos
\ \ / \
\ \ / \
\ \ Dados \
\ \ \
Endereos \ Ponto Flutuante
\
No-numricos (caracteres e outros)


Existe uma diviso fundamental em instrues (informao de controle) e dados.
As instrues so conjuntos de bits definidos pelo fabricante do processador usado no
computador, no seguindo nenhum padro especfico. Os dados, ao contrrio, seguem
padres de representao definidos, como visto a seguir, pois devem ser intercambiados
entre computadores de fabricantes diferentes.

6.1 Representao de Nmero Reais
Os padres para representao de nmeros em computadores, foram definidos com
base nos seguintes fatores:
Os tipos dos nmeros a serem representados, isto , inteiros, reais, complexos, etc.
A faixa de valores possveis. Quanto maior a faixa, mais bits so necessrios para
representar o nmero.
A preciso do nmero, ou seja quantas casas a direita da vrgula sero usadas na
representao de valores que no sejam inteiros.
Custo do hardware necessrio para armazenar e processar os nmeros.
Os formatos resultantes mais comuns so as representaes em ponto fixo e ponto
flutuante descritas a seguir.

6.1.1 Nmeros em Ponto Fixo
Este formato derivado diretamente da representao decimal de um nmero como
uma sequncia de dgitos separados por uma vrgula decimal (chamada de ponto
devido a notao americana para os nmeros). Os dgitos a esquerda da vrgula decimal
representam um inteiro; os dgitos a direita representam uma frao. Isto a notao
posicional, vista anteriormente, onde cada dgito tem um peso fixo de acordo com sua
posio relativa vrgula decimal:


O nmero decimal 192,73 equivalente a:
1 x 10
2
+ 9 x 10
1
+ 2 x 10
0
+ 7 x 10
-1
+ 3 x 10
-2


Se o nmero for binrio temos um formato anlogo, como no exemplo a seguir:
1,1101 = 1 x 2
0
+ 1 x 2
-1
+ 1 x 2
-2
+ 0 x 2
-3
+ 1 x 2
-4


Os computadores guardam na memria apenas sequncias de bits, no
representando vrgulas ou sinais. Desta forma, o nmero 1,1101 deve ser dividido em
duas partes, inteira e fracionria, para ser armazenado, como na figura a seguir, onde
ambas as partes so guardadas na memria com 8 bits de preciso.


1,1101 representado como:
00000001 (parte inteira)

11010000 (parte fracionria)

Nmeros inteiros so um caso particular dos nmeros em ponto fixo, onde no h parte
fracionria, no havendo necessidade da vrgula decimal que no entanto estaria implcita.
Com um nmero inteiro que tenha magnitude de n bits pode-se representar todos os
inteiros N na faixa

0 <= |N| <= 2
n
- 1
O formato da frao permite nmeros com magnitude na faixa
0 <= |N| <= 1 2
n
.
Em geral, o ponto fixo permite uma faixa limitada de valores e tem necessidade de
hardware relativamente simples.

6.1.2 Nmeros em Ponto Flutuante
A faixa de nmeros que podem ser representados por um cdigo numrico ponto fixo
insuficiente para muitas aplicaes, particularmente clculos cientficos onde nmeros
muito grandes e muito pequenos so frequentemente encontrados. A notao cientfica
permite que tais nmeros sejam representados usando, relativamente, poucos dgitos:

1,0 x 10
18
= 1.000.000.000.000.000.000
pto. flutuante ponto fixo

Um nmero ponto flutuante tem a forma M x
B
E
onde M = mantissa
B = base
E = expoente

Em 1,0 x 10
18
=> M = 1,0
B = 10
E = 18

Para implementao no computador, a mantissa e o expoente so codificados
como nmeros ponto fixo na base numrica r, onde r usualmente 2 ou 10. A base B
alguma potncia de r. Desde que a base uma constante, ela no precisa estar includa em
um cdigo numrico. Um nmero em ponto flutuante portanto armazenado na memria
do computador como um par de nmeros ponto fixo - uma mantissa M, que usualmente
uma frao ou um inteiro; e um expoente E, que um inteiro.
A preciso de M x BE determinada pelo nmero de bits usados para representar
M. A faixa de valores possveis determinada por B e E. Formatos ponto flutuante so
usados para representar nmeros reais sobre um intervalo contnuo +/- R. Desde que
apenas um conjunto finito de nmeros pode ser representado (no mximo 2n, onde n o
tamanho da palavra ponto flutuante), estes nmeros so distribudos sobre um intervalo
+/-R. Aumentando E, aumenta-se enormemente a faixa dos nmeros que podem ser
representados mas resulta numa distribuio mais esparsa dos nmeros dentro dessa faixa
Normalizao: A representao de nmeros ponto flutuante inerentemente redundante
no sentido que o mesmo nmero pode ser representado em mais de uma forma. Por
exemplo, 1,0 x 1018, 0,1 x 10 19, 1000000 x 1012, e 0,000001 x 1024 so equivalentes.
Geralmente desejvel especificar uma forma nica (normal) para a representao de
nmeros ponto flutuante num computador. S a parte fracionria da mantissa
representada internamente no computador. A inteno da normalizao garantir o
mximo de bits possveis da mantissa para representar o nmero, procurando no deixar,
na medida do possvel, zeros a direita da vrgula binria. A normalizao restringe a
magnitude |M| de uma mantissa fracionria faixa (para nmeros com B = 2):
0,5 <= |M| < 1 ou M = 0








Vejamos, por exemplo, a regra de Normalizao do Padro IEEE 754:


















Dupla: Simples:
64 bits 32 bits
Sinal: 1 bit Sinal: 1 bit
Expoente: 11 bits Exponte: 8 bits
Mantissa: 23 bits Mantissa: 52 bits
LEMBRE-SE: Excesso-127 no expoente

Pode ocorrer Underflow (expoente muito pequeno) ou Overflow (expoente muito
grande)
Para a representao interna de um nmero ponto flutuante, pode-se no ter a
representao exata do nmero. Na maioria das vezes tem-se uma aproximao. Esta
aproximao tanto mais real quanto maior for o nmero de bits reservados para a
representao da mantissa fracionria (preciso).

Qual seria a preciso e a faixa de valores possveis para um nmero ponto
flutuante representado no formato dos exemplos acima? Como se representaria o
nmero zero neste formato?

As respostas para essas perguntas so as seguintes: a preciso do nmero dada
pela mantissa. Pois bem, se para a mantissa so reservados 24 bits, ento a preciso da
nmero seria de 224 = 16.777.216. A faixa de valores possveis dada pela Base e pelo
expoente. Tem-se 7 bits para o expoente com sinal, logo, tirando o bit de sinal, sobra 6
bits para o expoente, que pode estar na faixa de -26 at +26-1 = -64 at +63. Logo, a
faixa de valores possveis, que inclui a Base fica de 2-64 at 2+63.
A representao do zero tem alguns problemas. A mantissa, claro, deve ser zero,
mas o expoente pode ter qualquer outro valor pois 0 x BE = 0 para todos os valores de E.
frequentemente, o que acontece devido aos erros de arredondamento, quando se quer
computar o zero, a mantissa muito pequena, mas no exatamente zero. Para o nmero
inteiro ser prximo de zero, seu expoente deve ser um nmero negativo grande. Se k bits
so reservados para o expoente, incluindo seu sinal (no caso 7), ento todos os nmeros
entre - 2k-1 e +2k-1 -1 podem ser representados (no caso entre -64 e +63). O expoente -
2k-1 seria usado no formato normal para o zero.
Uma segunda complicao vem do fato de que desejvel que o zero seja
representado por uma sequncia de bits 0 apenas, a princpio para facilitar a
implementao de instrues que testam o zero. Ao expoente, consistindo de uma
sequncia de zeros, deve ento ser atribudo o valor -2k-1. Isto sugere que os expoentes
sejam codificados em um cdigo excesso-2k-1 similar ao cdigo excesso-3 (ver prximo
subitem), onde o campo do expoente contm o expoente real mais 2k-1. A quantidade 2k-
1 chamada de polarizador, e um expoente codificado desta maneira chamado de
expoente polarizado ou caracterstica. A figura abaixo mostra todos os valores de um
expoente de 4 bits com polarizao 8 (cdigo excesso-8):
Expoente Nmero representado
1111 +7
1110 +6
1101 +5
1100 +4
1011 +3
1010 +2
1001 +1
1000 0
0111 -1
0110 -2
0101 -3
0100 -4
0011 -5
0010 -6
0001 -7
0000 -8



6.1.3 Caracteres
A necessidade de armazenamento e transmisso de informaes textuais entre
computadores levou a definio de cdigos em que combinaes de bits representam
letras, algarismos numricos usados em texto, pontuao, etc, e onde cada valor de
cdigo corresponde a um caractere. Os primeiros cdigos de caracteres usavam
combinaes de 6 bits, pois 6 era o valor mnimo de bits para criar combinaes de
nmeros em quantidade suficiente para representar as 26 letras do alfabeto ingls, e os 10
dgitos decimais (com 6 bits temos 26 = 64 combinaes diferentes, cada caractere sendo
representado por um nmero de 6 bits). Os 6 bits tambm permitiam um nmero razovel
(28) de caracteres especiais como ponto, vrgula e smbolos matemticos. Mais
recentemente tm predominado o uso de sequncias de 7 e 8 bits para representao de
caracteres, pois permitem caracteres adicionais, como alfabeto maisculo e minsculo, e
mais caracteres simblicos, de acentuao, e de controle (+ / , : ; LF CR EOT). O
cdigo mais usado para representar caracteres o ASCII (American Standard Code for
Information Interchange) desenvolvido para caracteres no acentuados, sumariado a
seguir. Em portugus prefervel usar o cdigo ASCII estendido, que inclui caracteres
acentuados.
Outro cdigo padro de caracteres de 8 bits o EBCDIC (Extended Binary Coded
Decimal Interchange Code) desenvolvido pela IBM.

6.1.3.1 Cdigos de Caracteres Decimais
Vimos que, como ns usamos no dia a dia aritmtica decimal, os nmeros para
serem entrados num computador, devem ser primeiro convertidos da representao
decimal para a binria. Similarmente, a converso binria-decimal faz parte do processo
de sada de um computador. O armazenamento de nmeros decimais no formato de texto
(1 dgito decimal em cada byte ), usando por exemplo a tabela ASCII, tambm requer a
converso decimal-binria.
Muitos cdigos numricos so usados para permitir uma converso rpida de
nmeros binrios para nmeros decimais. So os cdigos decimais:
Dgito CDIGO DECIMAL
Decimal BCD EBCDIC ASCII Excesso-3 2-entre-5
0 0000 11110000 00110000 0011 11000
1 0001 11110001 00110001 0100 00011
2 0010 11110010 00110010 0101 00101
3 0011 11110011 00110011 0110 00110
4 0100 11110100 00110100 0111 01001
5 0101 11110101 00110101 1000 01010
6 0110 11110110 00110110 1001 01100
7 0111 11110111 00110111 1010 10001
8 1000 11111000 00111000 1011 10010
9 1001 11111001 00111001 1100 10100

BCD - Binary Coded Decimal: cada dgito bi representado por seu equivalente de 4
bits bi.3bi.2bi.1bi.0 na forma binria padro: 971 em BCD 1001 0111 0001 .

EBCDIC - Extended BCD Interchange Code: representa os 10 dgitos decimais num
campo de 4 bits da mesma forma que em BCD. Os outros 4 bits (o campo "zonado") no
so usados para representao de dados numricos.

ASCII - usa o mesmo princpio de EBCDIC. 25 em ASCII : 00110010 00110101

Excesso-3: formado adicionando 0011 (3) ao correspondente nmero BCD, da o
nome. Este cdigo tem a vantagem de poder ser processado usando a mesma lgica usada
para cdigos binrios. Algumas operaes aritmticas so difceis de implementar usando
cdigo excesso-3, principalmente porque um cdigo "sem-peso" (no posicional).

2-entre-5: cada dgito decimal representado por uma sequncia de 5 bits contendo dois
1's e trs 0's. Existe exatamente 10 sequncias distintas deste tipo. O maior mrito deste
cdigo ser um detector de erro simples, pois mudando-se qualquer bit, resulta numa
sequncia que no tem correspondente vlido no cdigo. Suas desvantagens que um
cdigo "sem peso" e usa 5 ao invs de 4 bits por cdigo decimal.

A principal vantagem dos cdigos decimais a facilidade de converso entre a
representao interna do computador que permite apenas os smbolos 0 e 1 e
representaes externas que usam os dez smbolos decimais 0,1,2,...,9. Os cdigos
decimais tm suas desvantagens:
a) Eles usam mais bits para representar um nmero do que os cdigos binrios,
portanto requerem mais espao de memria;

b) Os circuitos necessrios para implementar aritmtica usando operandos decimais
so mais complexos do que para aritmtica binria.

Ex.: 95 + 15 em BCD: 1001.0101
0001.0101
------------
1010.1010 110 em BCD!

Alguns comentrios a respeito da estrutura dos cdigos ASCII e EBCDIC so teis.
Note que em ambos os cdigos, os 4 bits menos significativos dos cdigos de caracteres
decimais (0-9) so os cdigos BCD j vistos. Isto facilita duas operaes. Primeiro, a
comparao de dois caracteres que representam dgitos decimais para determinar qual o
maior, pode ser feito com o mesmo tipo de circuito lgico que usado para implementar
as operaes aritmticas padres para nmeros binrios. Segundo, quando determinado
pelo contexto que o cdigo de 7 ou 8 bits em alguma entrada representa um nmero
decimal que est para ser armazenado e processado como uma entidade nica, ento
prtico, algumas vezes, remover os 3 ou 4 bits mais significativos de cada cdigo do
dgito e comprimir o nmero, que vira um dgito BCD de 4 bits. Comentrios similares
valem para os caracteres alfabticos. O fato de eles estarem em sequncia numrica
facilita o arranjo em ordem alfabtica. (Ver tabelas ASCII e EBCDIC).

7. Tabela ASCII

























8. Aritmtica Binria
8.1 Adio
A adio binria obedece s leis convencionais adotadas para o sistema de numerao
decimal, conforme a tabela 4.1, onde esto as combinaes possveis para a adio de um
par de bits. A ltima coluna diz respeito ao bit que carregado (carry) ou vai-um
para a casa binria seguinte.

ADENDO AUGENDO RESULTADO VAI-UM
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

Como exemplo de adio, seja a soma dos nmeros binrios equivalentes aos
decimais 35 e 71:

35
10
0 0 1 0 0 0 1 1
2

71
10
+ 0 1 0 0 0 1 1 1
2
+
-------- ------------------
106
10
0 1 1 0 1 0 1 0
2


8.2 Subtrao
Tambm obedece s leis convencionais conforme a tabela abaixo, onde esto as
combinaes possveis para a subtrao de um par de bits. A ltima coluna refere-se ao
bit emprestado da casa binria esquerda tambm chamado de borrow ou de vem-
um:

MINUENDO SUBTRAENDO RESULTADO EMPRESTA-UM
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0

Como exemplo, seja a subtrao dos mesmos nmeros usados no exemplo
anterior. Note que necessria a inverso dos valores colocando-se o nmero maior em
mdulo (no caso um nmero negativo) como minuendo.

71
10
0 1 0 0 0 1 1 1
2

35
10
- 0 0 1 0 0 0 1 1
2
-
-------- ------------------
36
10
0 0 1 0 0 1 0 0
2


8.3 Multiplicao
Segue as regras vistas na tabela abaixo:

MUTIPLICANDO MULTIPLICADOR RESULTADO
0 0 0
0 1 0
1 0 0
1 1 1

Como exemplo de multiplicao, seja a multiplicao dos nmeros 3 e 4 :

4 ...................... 1 0 0
3 ...................... 0 1 1 x
-------------
1 0 0
1 0 0 +
--------------
12 ................. 1 1 0 0

8.4 Diviso
Segue as regras vistas na tabela abaixo. A tabela no contm os casos de diviso por zero,
proibidos.

DIVIDENDO DIVISOR QUOCIENTE
0 1 0
1 1 1
Exemplo: 1 1 0 0 1 0 /
101
1 1 0 0 1 0 1 0 1
-
1 0
1 1 0 1 0
____

0 0
1 0 1
- 1 0 1

________

0 0 0 0

9. Deslocamento Lgico (Logical SHI FT)
Instrues de deslocamento (shift):
Deslocar para a esquerda 1 casa binria => multiplicar por dois
Deslocar para a direita 1 casa binria => dividir por dois
Os bits deslocados para fora so perdidos

Base 10 Base 2
<- ->
0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0

Vous aimerez peut-être aussi