Você está na página 1de 32

Arquitetura de Computadores

Prof. MsC Adilson Oliveira Cruz


acruz@salesiano.br
 No sistema de números decimais é possível representar
números arbitrários usando:
 Dígitos de 0 a 9.
 Sinal de subtração (-)  para números negativos.
 Vírgula para números decimais.

 Exemplo:
 (-13,3125)10

2
 A representação de números binários também permite:
 Sinal de subtração (-)  para números negativos.
 Vírgula para números decimais.

 Exemplo:
 (-1101,0101)2

3
 Entretanto, para armazenar e processar números binários
no computador, não é possível usar sinal de menos e nem
vírgulas

 Apenas dígitos binários (0 e 1) podem ser usados para


representar os números

 Isso não é problema quando se deseja representar


apenas números inteiros não negativos

4
 Com 8 bits, é possível representar números de 0 a 255.

00000000 = 0

00000001 = 1

00101001 = 41

10000000 = 128

11111111 = 255
5
 Normalmente são utilizados 03 sistemas para a
representação de números negativos em computadores
 Sinal e Magnitude
 Complemento de um
 Complemento de dois

6
 É a forma mais simples de representação.
 Utiliza um dos dígitos (bits) para representar o sinal.
 Dígito de mais alta ordem

7 6 5 4 3 2 1 0
0 +
BYTE ±
1 –

Bit de mais Bit de mais


ALTA ordem BAIXA ordem

7
 Representação:
7 6 5 4 3 2 1 0
0 0 0 0 0 1 1 1 = +7
7 6 5 4 3 2 1 0
1 0 0 0 1 0 0 1 = –9
7 6 5 4 3 2 1 0
1 0 0 0 1 1 1 0 = – 14
7 6 5 4 3 2 1 0
0 0 0 0 0 0 1 1 = +3
8
 Usando este sistema, a faixa de representação fica
bastante reduzida. Por exemplo:
 Seja um número decimal de 04 dígitos
 Esses quatro dígitos são capazes de representar números de
0 a 9999, ou seja, 10000 números!
 Com sinal-magnitude, um dos dígitos assume apenas dois
valores (+ ou -). Assim, os mesmo 4 dígitos representarão
apenas: 1999 números (de -999 a +999) com as seguintes
faixas de representação:

[-(Bn-1 – 1), +(Bn-1 – 1)]

9
 Esta representação apresenta algumas desvantagens:

0 0 0 0 0 0 0 0 = +0

1 0 0 0 0 0 0 0 = –0
 Existem 02 representações para o zero
○ Inconveniente, pois é mais difícil testar se um valor é igual a zero
(operação que é executada frequentemente).
 Para efetuar operações de adição e subtração, é preciso
considerar tanto a magnitude quanto o sinal dos operandos.

10
Binário Com Sinal Sem Sinal
00000000 +0 0
00000001 1 1
... ... ...
01111111 127 127
10000000 −0 128
10000001 −1 129
... ... ...
11111111 −127 255

11
 Devido aos inconvenientes apresentados pela
representação e aritmética em sinal-magnitude, o
computador em geral utiliza a representação denominada
de complemento para realizar a representação de
números inteiros negativos
 Também chamado de complemento da base a menos 1
(B – 1).
 A faixa de números possíveis varia de:

[-(Bn-1 – 1), +(Bn-1 – 1)]

12
 Na representação em complemento de um, o
complemento de um número a é obtido, subtraindo-se
este número da maior quantidade representável
 Exemplo:
base 10 => complemento de 9

216 => 9 – 2 = 7 Assim, o complemento


9–1=8 de 216 na base 10 a
menos 1 é 783
9–6=3

13
 Ex: base 2 => complemento de 1

011 => 1 – 0 = 1 Assim, o complemento


1–1= 0 de 011 na base 2 a
menos 1 é 100
1–1= 0

 OBS: Na base binária, para achar o complemento de 1 de


um número basta trocar os 0’s por 1’s e vice-versa.
 Isso vale para o bit de sinal também!

14
 O complemento de 1 também possui a desvantagem de
ter 02 representações para o zero.

0 0 0 0 0 0 0 0 = +0

1 1 1 1 1 1 1 1 = –0

15
Interpretação de Interpretação
Binário
complemento de um sem sinal
00000000 +0 0
00000001 1 1
... ... ...
01111101 125 125
01111110 126 126
01111111 127 127
10000000 −127 128
10000001 −126 129
10000010 −125 130
... ... ...
11111110 −1 254
11111111 −0 255
16
 A representação em sinal e magnitude e a representação
em complemento de 1 são raramente usadas na
implementação da parte inteira de uma ULA.
 Por causa das 02 representações para o zero.

 O esquema mais comum é a representação em


complemento de 2 (complemento da base).

17
 Assim como as outras representações, o complemento de
2 usa o bit mais significativo (de mais alta ordem) como o
bit de sinal.

7 6 5 4 3 2 1 0
0 +
BYTE ±
1 –

Bit de SINAL

 Fácil testar se um número é positivo ou negativo.

18
 Em complemento de 2 existe apenas 1 representação
para o zero.
 A faixa de representação dos números varia de:

[-(Bn-1), +(Bn-1 – 1)]

 Observe que existe um número negativo que não tem


representação positiva!

1 0 0 0 0 0 0 0 = – 128

19
 Como encontrar o complemento de 2 de um número
binário positivo?
 1º - Escrever a representação positiva do número
 2º - Representar o número em complemento de (B-1)
 3º - Adicionar 1 ao número encontrado

20
 Como encontrar o complemento de 2 de um número
binário positivo?
 1º - Escrever a representação positiva do número
 2º - Representar o número em complemento de (B-1)
 3º - Adicionar 1 ao número encontrado

 Exemplo:

216 => 9 – 2 = 7 Assim, o complemento


de 216 na base 10 a
9–1=8
menos 1 é 784
9 – 6 = 3+1
21
 Exemplo: -20

 Escrever a representação positiva do número em sinal e


magnitude.

0 1 0 1 0 0

 Inverter os 0’s por 1’s e vice-versa.

1 0 1 0 1 1

22
 Exemplo: -20

 Somar 1 ao número encontrado

1 0 1 0 1 1

+ 0 0 0 0 0 1

1 0 1 1 0 0

23
Interpretação de Interpretação
Binário
complemento de dois sem sinal
00000000 0 0
00000001 1 1
... ... ...
01111110 126 126
01111111 127 127
10000000 −128 128
10000001 −127 129
10000010 −126 130
... ... ...
11111110 −2 254
11111111 −1 255

24
 Embora a representação em complemento de 2 pareça
pouco natural do ponto de vista humano, ela torna mais
fácil a implementação das operações aritméticas mais
importantes.
 Adição e Subtração

 Por isso, ela é usada quase universalmente para


representar números inteiros no processador

25
 Exercício: Represente usando 05 bits em Sinal e
Magnitude, Complemento de 1 e Complemento de 2 os
seguintes números:
 +12
 -15
 -6
 +7

26
 Primeiro passo: calcular o Complemento de 2 do
subtraendo.
 Segundo passo: somar com o minuendo.
 O bit mais significativo vai indicar se o número é negativo
ou positivo.
 Para conhecer a magnitude: realizar o Complemento de 2.

27
28
29
 Over flow é a mudança no sinal do resultado devido à
realização de operações que levam ao estouro da
capacidade do registrador (sequencia de bits). Esta
situação ocorre quando se realiza operações equivalentes
de soma de números positivos ou subtração de dois
números negativos.

30
 Exercício: utilizando 4 bits, realize as operações:
 3+2
 5+4
 -3 - 2
 -5-4
 1+5
 1-5
 -5+1
 -3+2
 -6-1

31
 TANENBAUM, A. s. Organização Estruturada de
Computadores. 3ª. ed. Editora LTC, 1999.

 STALLINGS, W. Arquitetura e Organização de


Computadores. 5a. ed. São Paulo: Prentice Hall, 2002

32

Você também pode gostar