Arquitetura e Organização de computadores Aula 8: Sistemas de Numeração Prof. MSc. Bruno Seabra Liam
[email protected]
Introdução
Operações em computadores digitais são baseadas no armazenamento e processamento de dados binários Diversas convenções são usadas para representar números inteiros e positivos A representação de números inteiros positivos é direta e imediata:
n
Com n dígitos pode-se representar B números, disposto n intervalo fechado entre zero (o menor) e B – 1 (o maior).
Faixa de representação: [0, Bn – 1] 8
Por exemplo: para oito dígitos binários tem-se 2 = 256 números, de zero (000000002)até 255 (111111112)
Entretanto, é necessário expandir (ou modificar) essa representação para incluir também números negativos 2
Números Binários Negativos
Diversas representações de números binários negativos foram desenvolvidas, sendo as mais conhecidas: Sinal-magnitude Complemento
de um
Complemento
de dois
3
Números Binários Negativos
Representação em sinal-magnitude
Esta representação utiliza o dígito mais significativo (bit da extrema esquerda ) para indicar o sinal: 0 é + e 1 é –
Com isso, números inteiros positivos pode ser representado Porém, a faixa de representação é reduzida:
Somente (n-1)dígitos para representar a magnitude
Cada número possui um bit adicional que representa o sinal Exemplo para quatro dígitos:
0111 = 7 e 1111 = -7 0000 = 0 e 1000 = -0 representações para o zero)
(Problema
1:
duas 4
Números Binários Negativos
Exemplos de representações em sinal-magnitude
1011 0011 1101 0101
= = = =
-3 3 -5 5
Problema 2: operação de adição
(-310) 10112 + (+310) 00112 = (-610) 11102
(ERRADO!!!!)
Para realizar adições em sinal-magnitude, é necessário duas operações distintas (adição e subtração). Por isso, é muito complexo a manipulações de números pelo computador 5
Números Binários Negativos
Representação em complemento de um
Também tem 1 um bit de sinal
Para tornar um número negativo
0 para + e 1 para -
substitua cada 1 por 0 e cada zero por 1. Vale também para o bit de sinal
A conversão de 23 para complemento de um tem apenas uma etapa
00010111 (+23) 11101000 (-23 complemento de um)
Bem como sinal-magnitude, tem duas representações para zero:
mais zero (0000) e menos zero (1111)
Esse sistema não é utilizado mais; é obsoleto 6
Números Binários Negativos
Representação em complemento de dois
Também tem 1 um bit de sinal
A conversão de um número em negativo tem duas etapas
0 para + e 1 para -
Cada 1 é substituído por 0 e cada 0 por 1, como o complemento de um Já na segunda etapa, 1 é adicionado ao resultado
Exemplo: número 6 00000110 (+6) 11111001 (-6) – complemento de um +00000001 complemento de dois 11111010 (-6)
Se ocorrer um vai-um no bit da extrema esquerda, ele é descartado 7
Números Binários Negativos
Em uma palavra com n bits, existem 2n combinações, divididas em:
2n-1 negativas 2n-1-1 positivas Somente uma representação para o 0 (zero)
Por exemplo:
8 bits tem 256 combinações -128 a 127
8
Números Binários Negativos (Ilustração) N Decimal
N Binário
-N Sinal-magnitude
-N Complemento de 1
-N Complemento de 2
1
00000001
10000001
11111110
11111111
5
00000101
10000101
11111010
11111011
9
00001001
10001001
11110110
11110111
15
00001111
10001111
11110000
11110001
20
00010100
10010100
11101011
11101100
28
00011100
10011100
11100011
11100100
32
00100000
??
??
??
40
00101000
10101000
11010111
11011000
50
00110010
??
??
??
60
00111100
??
??
??
80
01010000
??
??
??
100
01100100
??
??
??
Números de 8 bits
9
Números Binários Negativos (Ilustração)
Adição em complemento de dois Decimal
Complemento de 2 10
00001010
+ (-3)
11111101
+7
1
00000111 vai-um
descartado
10
1.
Converter os seguintes números decimais em números binários no padrão Complemento de 2: a)-30 b)-35 c)-72 d)-108
2.
Quantos bits, no mínimo, seriam necessários para representar o número 480 na base binária no padrão de Complemento 2?
3. Quantos bits, no mínimo, seriam necessários para representar o número -2048 na base binária no padrão de Complemento a 2?
11
1)
3)
710
2) -2110
-510
-4310
-4510
+(
+(
+(
)2
)2
1310
)2
4)
-3510
10210 +(
)2
5)
12310
-12210 +(
)2
12
Representação de números Racionais
Dada uma palavra binária com n bits, reserva-se k desses bits à representação da parte fracionária e o restante à representação da parte inteira
Exemplo: n=8, k=4 0011,1000 (3,5) 3 2 1 0 -1 -2 -3 -4 0x2 +0x2 +1x2 +1x2 +1x2 +0x2 +0x2 +0x2 = 3,5 0100,0100 (4,25) 3 2 1 0 -1 -2 -3 -4 0x2 +1x2 +0x2 +0x2 +0x2 +1x2 +0x2 +0x2 = 4,25 1100,0110 (12,375) 3 2 1 0 -1 -2 -3 -4 1x2 +1x2 +0x2 +0x2 +0x2 +1x2 +1x2 +0x2 = 12,375
13
Fim!