Escolar Documentos
Profissional Documentos
Cultura Documentos
2002
Juliana F. Camapum Wanderley
http://www.cic.unb.br/docentes/juliana/cursos/oac
Sumário
n Representação do computador das "Coisas"
n Números sem sinal Unsigned
n Computadores trabalhando
n Números com sinal Signed: busca por uma
boa representação
n Atalhos
n Conclusão
1
O que os computadores fazem?
n Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
n Exemplo:
3271 = (3x103) + (2x102) + (7x101) + (1x100)
2
Números: notação posicional
n Número Base B => B símbolos por dígito:
n Base 10 (Decimal): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Base 2 (Binário): 0, 1
n Representação do Número:
n d31d30 ... d 2d1d0 é um número de 32 dígitos
n valor = d31x B31 + d30 x B30 + ... + d2 x B2 + d 1 x B1 + d0 x B0
n Binário: 0,1
n 1011010 = 1x2 6 + 0x2 5 + 1x24 + 1x23 + 0x22 + 1x2 + 0x1 =
64 + 16 + 8 + 2 = 90
n Note que um número binário de 7 dígitos se transforma em um
número decimal de 2 dígitos.
n Existe uma base que converte facilmente para números
binários?
OAC – Ling. de Máquina – Representação de Números - 5 Juliana F Camapum Wanderley
3
Decimal vs. Hexadecimal vs.Binário
00 0 0000
♦ Exemplos: 01 1 0001
02 2 0010
♦ 1010 1100 0101 (binary)
03 3 0011
= AC5 (hex) 04 4 0100
05 5 0101
♦10111 (binary) 06 6 0110
07 7 0111
= 0001 0111 (binary) 08 8 1000
= 17 (hex) 09 9 1001
10 A 1010
11 B 1011
♦3F9(hex) 12 C 1100
= 11 1111 1001 (binary) 13 D 1101
14 E 1110
15 F 1111
OAC – Ling. de Máquina – Representação de Números - 7 Juliana F Camapum Wanderley
4
Comparação
5
Limites dos Números do Computador
n Bits podem representar qualquer coisa!
n Caracteres?
n 26 letras => 5 bits
n maisc./minusc. + pontuação
=> 7 bits (em 8) (“ascii”)
n Código padrão para atender todas as linguagens do mundo
=> 16 bits (unicode)
n Valores lógicos?
n 0 -> Falso, 1 => Verdadeiro
n cores ?
n localizações / endereços? comandos?
n Mas N bits => somente 2N coisas
OAC – Ling. de Máquina – Representação de Números - 11 Juliana F Camapum Wanderley
6
Problemas da sign and magnitude?
n Circuito Aritmético mais complicado
n Passos especiais dependendo se os sinais são os
mesmos ou não
° O que é -00000 ?
° Quantos números positivos em N bits?
° Quantos negativos?
OAC – Ling. de Máquina – Representação de Números - 14 Juliana F Camapum Wanderley
7
Problemas do complemento de um
8
"Linha" dos Números Complemento de 2´s
11111
00000 00001 n 2 N-1 não
11110 00010 negativos
-1 0 1
11101 -2 2 n 2 N-1 negativos
11100 -3
.
-4 n um zero
.
. . n Quantos
. . positivos?
-15 -16 15
n Overflow?
Complemento de Dois
0000 ... 0000 0000 0000 0000dois = 0dez
0000 ... 0000 0000 0000 0001dois = 1dez
0000 ... 0000 0000 0000 0010dois = 2dez
...
0111 ... 1111 1111 1111 1101dois = 2.147.483.645dez
0111 ... 1111 1111 1111 1110dois = 2.147.483.646dez
0111 ... 1111 1111 1111 1111dois = 2.147.483.647dez
1000 ... 0000 0000 0000 0000dois = -2.147.483.648dez
1000 ... 0000 0000 0000 0001dois = -2.147.483.647dez
1000 ... 0000 0000 0000 0010dois = -2.147.483.646dez
...
1111 ... 1111 1111 1111 1101dois = -3dez
1111 ... 1111 1111 1111 1110dois = -2dez
1111 ... 1111 1111 1111 1111dois = -1dez
n Um zero, 1° bit chamado bit de sinal , um negativo “extra”, não há
2.147.483.648dez
OAC – Ling. de Máquina – Representação de Números - 18 Juliana F Camapum Wanderley
9
Fórmula do Complemento de Dois
n Pode representar números positivos e negativos em
termos do valor do bit vez uma potência de 2:
n d31 x -231 + d30 x 230 + ... + d2 x 22 + d 1 x 21 + d0 x 20
n Exemplo
1111 1111 1111 1111 1111 1111 1111 1100dois
= 1x-231 +1x230 +1x229+... +1x22+0x21+0x20
= -231 + 230 + 229 + ... + 22 + 0 + 0
= -2.147.483.648dez + 2.147.483.644dez
= -4dez
n Nota: deve-se especificar a largura: nós usamos 32 bits
OAC – Ling. de Máquina – Representação de Números - 19 Juliana F Camapum Wanderley
10
Atalho do compl. de dois: extensão do sinal
♦ Converter número em complemento de 2 usando n
bits para mais de n bits
♦ Simplesmente repetir o bit mais significante (bit de
sinal) do menor para preencher os novos bits
• Complemento de 2 positivo tem infinitos 0s
• Complemento de 2 negativo tem infinitos 1s.
• Representação de bit esconde os bits a frente;
extensão de sinal restaura alguns deles
• 16-bit -4dez para 32-bit:
1111 1111 1111 1100dois
1111 1111 1111 1111 1111 1111 1111 1100dois
OAC – Ling. de Máquina – Representação de Números - 21 Juliana F Camapum Wanderley
11
Números são armazenados em endereços
n Memória é um lugar para
00000 armazenar bits
n Uma palavra é um número
101101100110 01110 fixo de bits (e.g., 32) em um
endereço.
n Endereços são naturalmente
representados como número
11111 = 2k - 1
sem sinal
12
Conclusão
n Nós representamos "coisas" no computador como
padrões particulares de bits: N bits =>2N
n números, caracteres, ...
n Decimal para cálculos humanos, binário para entender
computadores, hex para entender binário
n Complemento de 2 é universal em computação: não
pode ser evitado, então aprenda
n Operações no Computador sobre as representações de
números correspondem as operações reais sobre as
coisas reais.
n Overflow: números são infinitos mas os computadores
são finitos, assim erros podem ocorrer
OAC – Ling. de Máquina – Representação de Números - 25 Juliana F Camapum Wanderley
13