2. Introdução
Computador manipula/armazena
informação na forma de números
Info = instruções, dados
Sistema numérico padrão decimal (0,..., 9)
Computador sistema binário
Vantagens:
Necessidade de apenas 2 níveis de tensão nos circuitos
eletrônicos
Programas expressões algébricas representadas
pela álgebra booleana, que é baseada em sistema
binário
Introdução à Ciência
Eduardo Nicola F. Zagari 2
da Computação
3. O Conceito de Número
Número
Expressa quantidade em relação à uma unidade
Numeral
Símbolos que representam números
Sistemas Numéricos:
Algarismos: “numerais de valor próprio”
Usados para gerar os numerais para todos os números
Base: quantidade de algarismos
Introdução à Ciência
Eduardo Nicola F. Zagari 3
da Computação
4. Sistema Decimal
Posicional
Numeral Base
6903 = 6 x 103 + 9 x 102 + 0 x 101 + 3 x 100
6903 = 6.000 + 900 + 0 + 3
Algarismo
Introdução à Ciência
Eduardo Nicola F. Zagari 4
da Computação
5. Sistema Binário
Posicional
Algarismos: 0 e 1
Base: 2
101b = 1 x 22 + 0 x 21 + 1 x 20
101b = 4 + 0 + 1 = 5d
Introdução à Ciência
Eduardo Nicola F. Zagari 5
da Computação
6. Correspondência entre entre os dezesseis
primeiros numerais decimais e binários
DECIMAL BINÁRIO DECIMAL BINÁRIO
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
Introdução à Ciência
Eduardo Nicola F. Zagari 6
da Computação
7. Números Reais e Conversões
de Bases
Decimal fracionário: 1,8125
1,8125 = 1 x 100 + 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
Binário fracionário: 1,1101
1,1101 = 1 x 20 + 1 x 2-1 + 1 x 2-2 + 0 x 2-3 + 1 x 2-4
Introdução à Ciência
Eduardo Nicola F. Zagari 7
da Computação
8. Conversão entre Binário e
Decimal
Representações binária e decimal não alteram
quantidade representada
Conversão para Decimal
Ex.1:
1001b = 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20
= 8 + 0 + 0 + 1 = 9d
Ex.2:
1,0110b = 1 x 20 + 0 x 2-1 + 1 x 2-2 + 1 x 2-3 +
0x2-4
Introdução à Ciência
= 1 + 0 + 0,25 + 0,13 + 0 = 1,38d
Eduardo Nicola F. Zagari 8
da Computação
9. Conversão para Binário
Caso N seja inteiro: p.ex., 19
19 2
1 9 2
1 4 2
0 2 2
0 1 2
1 0 19d = 10011b
Introdução à Ciência
Eduardo Nicola F. Zagari 9
da Computação
10. Conversão para Binário
Caso N seja menor que 1: p.ex., 0.69
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
Introdução à Ciência
Eduardo Nicola F. Zagari 10
da Computação
11. Conversão para Binário
Caso N seja fracionário e maior que 1?
Ex.: Converter o decimal 19,69 para a base 2:
• Converter a parte inteira
19d = 10011b, conforme visto anteriormente.
• Converter a parte fracionária
0,69d = 0,101100b, conforme visto anteriormente
• Unir as partes
19,69d = 10011,101100b
Introdução à Ciência
Eduardo Nicola F. Zagari 11
da Computação
12. Outras Bases Numéricas
Sistema Octal
Base: 8
Algarismos: 0, 1, 2, 3, ..., 7
Sistema Hexadecimal
Base: 16
Algarismos: 0, 1, 2, ..., 9, A, B, C, D, E, F
3 dígitos binários 8 (23) números
4 dígitos binários 16 (24) números
Introdução à Ciência
Eduardo Nicola F. Zagari 12
da Computação
13. Conversão do Sistema
Hexadecimal
Correspondência das bases 2, 8 e 16:
2 3 7 4 , 6 4 5 2 => octal
---- ------ ------ ------ ------ ------ ------ ------
1 0 0 1 1 1 1 1 1 0 0 , 1 1 0 1 0 0 1 0 1 0 1 0 => binário
------ -------- --------- -------- -------- --------
4 F C , D 2 A => hexa
Introdução à Ciência
Eduardo Nicola F. Zagari 13
da Computação
14. De Hexadecimal para Decimal
7AB016 = 7 x 163 + 10 x 162 + 11 x 161 + 0 x 160
= 28.672 + 2.560 + 176 + 0
= 31.40810
Introdução à Ciência
Eduardo Nicola F. Zagari 14
da Computação
15. De Decimal para Hexadecimal
1989 16
5 124 16
12 7
=> ou seja, 198910 = 7C516
Introdução à Ciência
Eduardo Nicola F. Zagari 15
da Computação
16. De Hexadecimal para Octal
1 F
----- ------
0001 1111 = 00 011 111
--- ----- ----
0 3 7
==> 1F16 = 378
Introdução à Ciência
Eduardo Nicola F. Zagari 16
da Computação
17. De Octal para Hexadecimal
5 5
---- ----
101 101 = 10 1101
--- ------
2 D
=> 558 = 2D16
Introdução à Ciência
Eduardo Nicola F. Zagari 17
da Computação
18. Tipos de Informação
Representadas por seqüências binárias
4 bits “nibble”
8 bits “byte”
Pode ocupar 1 ou + palavras (word) na
memória
Introdução à Ciência
Eduardo Nicola F. Zagari 18
da Computação
19. Tipos de Informação
Depende do fabricante do
processador
Instruções
Ponto Fixo
Informação
Numéricos
Dados Ponto Flutuante
Padrões de
Representação
Não-numéricos (caracteres e outros)
Introdução à Ciência
Eduardo Nicola F. Zagari 19
da Computação
20. Dados Numéricos
Definidos com base nos fatores:
Tipos de números
Faixa de valores possíveis
Precisão do número
Custo do hardware
Introdução à Ciência
Eduardo Nicola F. Zagari 20
da Computação
21. Números em Ponto Fixo
Dígitos para representar:
Parte inteira
Parte fracionária
Cada dígito tem um peso de acordo
com sua posição relativa à vírgula
decimal (Notação Posicional)
Introdução à Ciência
Eduardo Nicola F. Zagari 21
da Computação
22. Números em Ponto Fixo
1,1101 é representado como:
00000001 (parte inteira)
11010000 (parte fracionária)
Vírgulas (ou pontos) não são representadas
Cabe à instrução (processador) reconstituí-lo
Introdução à Ciência
Eduardo Nicola F. Zagari 22
da Computação
23. Números em Ponto Fixo
Números com sinal:
Bit mais a esquerda = 1. Número negativo
Bit mais a esquerda = 0. Número positivo
xn-1xn-2...x2x1x0
sinal magnitude (partes inteira e fracionária)
Introdução à Ciência
Eduardo Nicola F. Zagari 23
da Computação
24. Números em Ponto Fixo
Faixa de representação de números
inteiros com “n” bits:
-2n <= N <= 2n - 1
Faixa de representação de frações com
“n” bits:
0 <= |N| <= 1 - 2-n
Introdução à Ciência
Eduardo Nicola F. Zagari 24
da Computação
25. Números em Ponto Flutuante
Para representar números muito grandes ou
muito pequenos com, relativamente, poucos
dígitos:
1,0 x 1018 = 1.000.000.000.000.000.000
pto. flutuante ponto fixo
Um número ponto flutuante tem a forma M x BE
onde M = mantissa; B = base e E = expoente
Em 1,0 x 1018 => M = 1,0; B = 10 e E = 18
Introdução à Ciência
Eduardo Nicola F. Zagari 25
da Computação
26. Números em Ponto Flutuante
Número em ponto flutuante é armazenado na
memória como o par:
Uma Mantissa M (fração/inteiro)
Um Expoente E (inteiro)
A base é constante (potência de r: 2, 10)
Precisão: número de bits de M
Faixa de valores possíveis: determinada por B
e E (máximo 2n)
Introdução à Ciência
Eduardo Nicola F. Zagari 26
da Computação
27. Números em Ponto Flutuante
1,0 x 1018, 0,1 x 1019, 1000000 x 1012, e
0,000001 x 1024 são equivalentes
Normalização:
Só a parte fracionária da mantissa é
representada
Intenção garantir o máximo de bits
possíveis da mantissa para representar o
número
Introdução à Ciência
Eduardo Nicola F. Zagari 27
da Computação
28. Números em Ponto Flutuante
• Padrão IEEE 754 – normalizado, expoente em excesso 127
N = (-1)S x 1.M x 2E
• precisão simples
31 30 23 22 0
S EXPOENTE EM EXECESSO MANTISSA
• precisão dupla
63 62 52 51 32
S EXPOENTE EM EXECESSO MANTISSA
31 0
MANTISSA
Introdução à Ciência
Eduardo Nicola F. Zagari 28
da Computação
30. Números em Ponto Flutuante
A normalização restringe a magnitude |M|
de uma mantissa fracionária à faixa (para
números com B = 2):
0,5 <= |M| < 1 ou M = 0
0,1000000...0 = 0,5
0,1111111...1 < 1,0
Introdução à Ciência
Eduardo Nicola F. Zagari 30
da Computação
31. Números em Ponto Flutuante
Qual seria a precisão e a faixa de valores
possíveis para um número representado em
ponto flutuante?
Precisão
Mantissa: se tem 24 bits, então precisão é de 224 =
16.777.216
Faixa
Base e expoente: 8 bits -28 a + 28 –1 = -256 até
+255
Logo, faixa fica de 2-256 a 2+255
Introdução à Ciência
Eduardo Nicola F. Zagari 31
da Computação
32. Números em Ponto Flutuante
Como se representaria o número zero?
0 x BE = 0 para todos os valores de E
Mas nem sempre a mantissa é exatamente
zero...
“E” deve ser um número negativo grande
Introdução à Ciência
Eduardo Nicola F. Zagari 32
da Computação
33. Números em Ponto Flutuante
Para efeitos de comparação com zero:
Expoente codificado em excesso -2k-1
(polarizador), assim
Expoente 0000 representa número –8
Expoente 0001 representa número -7
Introdução à Ciência
Eduardo Nicola F. Zagari 33
da Computação
38. Complementos
Resolver a desvantagem do desperdício
de 1 bit para armazenamento do sinal
Bit mais significativo é usado ao mesmo
tempo para representação do sinal e de
parte do número
Introdução à Ciência
Eduardo Nicola F. Zagari 38
da Computação
39. Complemento de 1
É o que falta para chegar ao valor máximo
da cadeia de bits
Ex.: Complemento de 0101 é o que falta
para chegar a 1111. Basta subtrair de 1111
1111 0101
0101 – pois 1010 +
1010 1111
Introdução à Ciência
Eduardo Nicola F. Zagari 39
da Computação
40. Complemento de 1
Para simplificar, basta inverter os bits:
0101
0 1
1 0 1010 Complemento de 1
Mas apresenta problemas para a
(dupla) representação do zero (0000 e
1111) e na soma de 2 números
negativos
Introdução à Ciência
Eduardo Nicola F. Zagari 40
da Computação
41. Complemento de 2
Calcular o complemento de 1
Somar 1
Ex.: 0101 Complemento de 1 = 1010
1+
1011
- 5 em complemento de 2
Introdução à Ciência
Eduardo Nicola F. Zagari 41
da Computação
42. Complemento de 2
Elimina a necessidade de subtrações
Bit carry deve ser desprezado
7110 010001112
3510 – 110111012 +
3610 1 001001002 = 3610
Quando o resultado é negativo, o que
se obtém é seu complemento de 2:
3510 001000112
7110 – 101110012 +
-3610 1110111002 = DC16
Introdução à Ciência
Eduardo Nicola F. Zagari 42
da Computação
43. Soma usando Complemento
de 2
Ex.: 4 bits faixa de –8 a +7
+1+1
+1
+2 0010 -3 1101
+3 0011 -4 1100
+5 0101 -7 11001
OK
+1 +1
+4 0100 -5 1011
+5 0101 -6 1010
+9 1001 -11 11001
OVERFLOW
Introdução à Ciência
Eduardo Nicola F. Zagari 43
da Computação
44. Caracteres
Armazenamento e transmissão de info
textuais
Definição de códigos em que combinações
de bits representam letras, algarismos
usados em textos, pontuação, etc.
caracter
Introdução à Ciência
Eduardo Nicola F. Zagari 44
da Computação
45. Códigos de Caracteres
Decimais
Conversão de binário-decimal de
números decimais no formato texto:
BCD: Binary Coded Decimal
Representado pelo seu equivalente de 4 bits
EBCDIC: Extended BCD Interchange Code
Igual ao BCD + 4 bits (campo zonado) que não
são usados para dados numéricos
ASCII:
Princípio igual ao do EBCDIC
Introdução à Ciência
Eduardo Nicola F. Zagari 45
da Computação
46. Códigos de Caracteres
Decimais
Excesso-3:
Igual ao BCD mais 0011 (3)
2-entre-5:
Cada dígito decimal é representado por
uma seqüência de 5 bits contendo dois 1`s
e três 0`s.
Introdução à Ciência
Eduardo Nicola F. Zagari 46
da Computação
48. Paridade
Paridade de um caractere é um bit
extra usado para detecção de erro
simples (como no caso do código 2-
entre-5).
Paridade par: número de 1`s do caractere
é par bit de paridade par = 0
Paridade ímpar: número de 1`s do
caractere é par bit de paridade ímpar =
1
Introdução à Ciência
Eduardo Nicola F. Zagari 48
da Computação