aula 07 sistemas de computacao a aula 01-v2!22!03 2014 2

128
Preparatório EsFCEx SISTEMAS DE COMPUTAÇÃO Sistema de Numeração Prof. Eliel Martins

Upload: angel-angel

Post on 19-Jan-2016

117 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Preparatório EsFCExSISTEMAS DE COMPUTAÇÃO

Sistema de NumeraçãoProf. Eliel Martins

Page 2: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

SumárioIntroduçãoSistemas de numeraçãoConversão entre basesNúmeros inteirosNúmero decimaisNúmeros Reais (Introdução)Representação de dados, símbolos e caracteresConclusão

Page 3: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Introdução● Lista de Assuntos

○ 3. Sistemas de computação■ a. Sistemas de numeração aritmética em diversas

bases numéricas, conversão entre bases, representação de dados, símbolos e caracteres. Representação e aritmética binária de números inteiros (ponto fixo) e reais (ponto fixo e ponto flutuante), decimal zonado e decimal compactado.

Page 4: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Introdução● Bibliografia

○ TANENBAUM, Andrew S. Organização Estruturada de Computadores. 5. ed. São Paulo: Pearson Prentice Hall, 2010.

○ PATTERSON, David A.; HENNESSY, John L. Organização e Projeto de Computadores: interface hardware/software. 3. ed. Rio de Janeiro: Campus, 2005.

Page 5: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Introdução● Conceitos básicos

○ Bit - Digito binário (0,1) - menor unidade em circulação em sistema computacional

○ Um grupo de 4 bits = nibble○ Um grupo de 8 bits = byte○ um grupo de 16 bits = word○ um grupo de 32 bits = double word○ um grupo de 64 bits = quad word

Page 6: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Sistemas de Numeração

Page 7: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Sistemas de NumeraçãoSistemas Numéricos● Notações utilizadas para representar números● Definido pela base que utiliza● A base é o número de símbolos diferentes, ou

algarismos, necessários para representar um número qualquer, dos infinitos possíveis no sistema

Page 8: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Sistemas de Numeração● Sistemas Numéricos

○ Posicional■ Valor atribuído a um símbolo depende de sua

posição no conjunto■ Algarismos arábicos, binários, octal e hexadecimal■ Ex: 123 != 321

○ Não posicional■ O valor atribuído a um símbolo não depende de sua

posição no conjunto■ Ex: Algarismos romanos: XXI = XXI

Page 9: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Sistemas de NumeraçãoSistema decimal● Base 10● Símbolos: 0 1 2 3 4 5 6 7 8 9● Universalmente utilizado

Page 10: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Sistemas de NumeraçãoSistema Binário● Base 2● Símbolos: 0 e 1● Base para a Álgebra booleana● Base da eletrônica digital

Page 11: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Sistemas de NumeraçãoSistema Octal● Base 8● Símbolos: 0, 1, 2, 3, 4, 5, 6, 7● Foi muito utilizado, sendo substituído pelo

hexadecimal

Page 12: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Sistemas de NumeraçãoSistema Hexadecimal - Base 16● 16 dígitos, de 0 à 9 e da letra A até F● Símbolos: 0 1 2 3 4 5 6 7 8 9 A B C D E F● São utilizados na programação de

microprocessadores● Utilizados em programação de baixo nível

Page 13: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Sistemas de NumeraçãoSistema Hexadecimal - Base 16● Capaz de reduzir uma longa sequência de

números binários em poucos caracteres● Qualquer combinação de números binários de

4 dígitos pode ser representada por um único símbolo hexadecimal.

Page 14: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Sistemas de Numeração

Page 15: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases

Page 16: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesConversão entre bases● De qualquer base para decimal● De decimal para qualquer outra base

Page 17: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesConversão entre bases● De qualquer base para decimal

○ Soma dos símbolos x base ^ posição

Page 18: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesBinário para decimal - Ex: 100011002= (1x27)+(0x26)+(0x25)+(0x24)+(1x23)+(1x22)+(0x21)+(0x20) = 128 + 0 + 0 + 0 + 8 + 4 + 0 + 0 = 14010

Número 1 0 0 0 1 1 0 0

Posição 7 6 5 4 3 2 1 0

Potência1x27 0x26 0x25 0x24 1x23 1x22 0x21 0x20

1x128 0x64 0x32 0x16 1x8 1x4 0x2 0x1

Resultado 128 0 0 0 8 4 0 0

Somatório 128 + 8 + 4 = 140

Page 19: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesOctal para decimal - Ex: 2148= (2x82) + (1x81) + (4x80)= 2x64 + 1x8 + 4x1 = 14010

Número 2 1 4

Posição 2 1 0

Potência2x82 1x81 4x80

2x64 1x8 4x1

Resultado 128 0 0

Somatório 128 + 8 + 4 = 140

Page 20: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesHexadecimal para decimal - Ex: 36B016= (3x163) + (6x162) + (Bx161) + (0x160 )= 3x4096 + 6x256 + 11x16 + 0x1 = 1400010

Número 3 6 B (11) 0

Posição 3 2 1 0

Potência6x163 6x162 11x161 0x160

6x4096 6x256 11x16 0x1

Resultado 12288 1536 176 0

Somatório 12288 + 1536 + 176 = 14000

Page 21: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesNúmeros fracionários para decimal - Ex: 36,B216= (3x161) + (6x160) + (Bx16-1) + (2x16-2)= 3x16 + 6x1 + 11x1/16 + 2x1/256 = 54,695312510

Número 3 6 B (11) 2

Posição 21 0 -1 -2

Potência3x161 3x160 11x16-1 2x16-2

3x16 6x1 11x1/16 0x1/256

Resultado 48 6 0,6875 0,0078125

Somatório 48 + 6 + 0,6875 + 0,0078125 = 54,6953125

Page 22: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesNúmeros fracionários para decimal - Ex: 101,1012

= (1x22) + (0x21) + (1x20) + (1x2-1) + (0x2-2) + (1x2-3) = = (1x4) + (0x2) + (1x1) + (1x1/2) + (0x1/2) + (1x1/8) = = 4 + 1 + 0,5 + 0,125 = = 5,62510

Page 23: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesNúmeros fracionários para decimal - Ex: 74,328

= (7x81) + (4x80) + (3x8-1) + (2x8-2) == (7x8) + (4x1) + (3x1/8) + (2x1/64) == 56 + 4 + 0,375 + 0,03125 == 60,4062510

Page 24: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases2019 – Q 54 - Gabarito D

Page 25: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases2019 – Q 54 – Resolução

Número: 1000,01012= 1x23 + 1x2-2 + 1x2-4

= 8 + 1/4 + 1/16= 8 + 0,25 + 0,0625= 8 + 0,3125= 8,3125

Page 26: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesConversão entre bases● De decimal para qualquer outra base

○ Parte inteira: divide-se o número a ser convertido pela base desejada até que o quociente seja zero. Os restos das divisões formam a parte inteira do número convertido; o primeiro resto representa o último dígito

○ Parte fracionária: multiplica-se a parte fracionária do número a ser convertido pela base desejada. A parte inteira dos produtos obtidos representam a parte fracionária do número procurado

Page 27: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesConversão Decimal para Binário 10010 = 0110 01002

100/2= 50Resto 050/2 = 25Resto 025/2 = 12Resto 112/2 = 6Resto 06/2 = 3Resto 03/2 = 1Resto 11/2 = 0Resto 1

Page 28: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesConversão decimal para Octal 20010 = 3108

200/8 = 25 Resto 025/8 = 3 Resto 13/8 = 0 Resto 3

Page 29: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre basesNúmeros fracionários 120,3210 = 78,5116

● Parte inteira120/16 = 7 Resto 87/16 = 0 Resto 7

● Parte fracionária0,32 x 16 = 5,12 Inteiro 50,12 X 16 = 1,92 Inteiro 1

Page 30: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases

Converter 120,3210● Parte inteira120/2 = 60 Resto 060/2 = 30 Resto 030/2 = 15 Resto 015/2 = 7 Resto 17/2 = 3 Resto 13/2 = 1 Resto 11/2 = 0 Resto 1

● Parte fracionária

0,32x2 = 0,64 → 00,64x2 = 1,28 → 1

● Resultado111100,012

Page 31: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases - MacetesConversão rápida entre base 2 e 10● Converter o número 13410 para base 2● Encontrar o maior valor que pode ser somado com outros

para obter o número desejado● Adicionar bit 1 onde o valor puder ser somando

Resultado: 100001102

2048 1024 512 256 128 64 32 16 8 4 2 1

1 0 0 0 0 1 1 0

Page 32: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases - MacetesConversão rápida entre base 2 e 10● Converter o número 110010012 para base 10● Distribuir os dígitos da esquerda para a direita● Somar os decimais onde o bit for 1

Resultado: 128+64+8+1 = 20110

2048 1024 512 256 128 64 32 16 8 4 2 1

1 1 0 0 1 0 0 1

Page 33: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases - MacetesConversão entre binária e octal● Partindo da vírgula, separar em conjuntos de 3 bits ● Completar com zeros os conjuntos incompletos, for

necessário● Ex: 1001110001102 = 47068

Binário 100 111 000 110

Octal 4 7 0 6

Page 34: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases - MacetesConversão entre binária e octal● Partindo da vírgula, separar em conjuntos de 3 bits ● Completar com zeros os conjuntos incompletos, for

necessário, observando a direção● Ex: 11011000,111012 = 330,728

Binário 011 011 000 111 010

Octal 3 3 0 7 2

Page 35: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases - MacetesConversão entre binária e octal● De octal para binária é o processo inverso● Ex: 657,438 = 110101111,1000112

Octal 6 5 7 4 3

Binário 110 101 111 100 011

Page 36: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases - MacetesConversão de binário hexadecimal● Partindo da vírgula, separar em conjuntos de 4 bits ● Completar com zeros os conjuntos incompletos, for

necessário● Ex: 110011100001010110012 = CE15916

Binário 1100 1110 0001 0101 1001

Octal C E 1 5 9

Page 37: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases2012 – Q 36 – Gabarito C

Page 38: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Conversão entre bases2012 – Q 36 - Resolução

258 = 000101012510 = 00011001 2516 = 00100101

318 = 000110013110 = 3116 =

Page 39: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteiros

Page 40: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosRepresentação de números inteirosFormas de representação● módulo e sinal (MS)● complemento de 1 (C-1)● complemento de 2 (C-2)

Page 41: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosMódulo e sinal (MS)● Também denominado de Sinal-e-magnitude● Bit que está situado mais à esquerda representa o sinal, e

o seu valor será 0 para o sinal + e 1 para o sinal -● Os bits restantes (N-1) representam o módulo do número● Para 8 bits (N=8), o valor

○ 00101010 = +42○ 10101010 = -42

Page 42: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosMódulo e sinal (MS)● Faixa de representação simétrica: -2N-1+1 <= X <= 2N-1 -1● Para 8 bits (byte), a faixa é: -127 <= X <= 127● Para 16 bits (word), a faixa é:

-32767 <= X <= 32767● Para 32 bits (double word), a faixa é:

-2147483647 <= X <= 2147483647

Page 43: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosMódulo e sinal (MS)● Vantagem

○ Faixa simétrica● Desvantagem

○ Duas representações para o zero○ Para 8 bits: 00000000 (+0) e 1000000 (-0)

Page 44: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosComplemento de 1 (C-1)● Também utiliza o bit mais à esquerda para o sinal,

correspondendo o 0 ao sinal + e o 1 ao sinal -● O simétrico de um número positivo é obtido pelo

complemento de todos os seus dígitos (trocando 0 por 1 e vice-versa), incluindo o bit de sinal

● Para 8 bits (N=8), o valor ○ 00101010 = +42○ 11010101 = -42

Page 45: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosComplemento de 1 (C-1)● Mesma faixa de representação para N dígitos do método

módulo e sinal: -2N-1+1 <= X <= 2N-1 -1

Page 46: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosComplemento de 2 (C-2)● Também utiliza o bit mais à esquerda para o

sinal, correspondendo o 0 ao sinal + e o 1 ao sinal -

Page 47: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosComplemento de 2 (C-2)O simétrico de um número é obtido em dois passos:● Primeiro passo: Obtém-se o complemento de todos os bits

do número positivo (trocando 0 por 1 e vice-versa) incluindo o bit do sinal, isto é, executa-se o Complemento de 1.

● Segundo passo: Ao resultado obtido no primeiro passo soma-se 1 (em binário), desprezando-se o último transporte, se existir.

Page 48: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosComplemento de 2 (C-2)

Page 49: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosComplemento de 2 (C-2)Obtendo o simétrico (forma mais fácil):● A partir da direita repete-se todos os bits até o primeiro 1

inclusive. ● Depois inverte-se todos os bits a esquerda deste um● Exemplo: Número: 00001010 C-2: 11110110

Page 50: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosComplemento de 2 (C-2)● Faixa de representação: -2N-1 <= X <= 2N-1 -1● Para 8 bits (byte), a faixa é: -128 <= X <= 127● Para 16 bits (word), a faixa é:

-32768 <= X <= 32767● Para 32 bits (double word), a faixa é:

-2147483648 <= X <= 2147483647

Page 51: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosComplemento de 2 (C-2)● Mais utilizado por causa da não ambiguidade

na representação do 0● Vantagem

○ Representação única para o zero● Inconveniência

○ Assimetria → existem mais valores negativos que positivos

Page 52: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteiros2007 – Q 17 – Gabarito D

Page 53: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteiros2006 – Q 15 – Gabarito A

Page 54: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosAritmética de números inteiros

● Quatro operações básicas no sistema binário ○ Adição○ Subtração○ Divisão○ Multiplicação

Page 55: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosAdição● Fazem-se as contas coluna a coluna● Fazendo o transporte de um (<e vai um> ou carry)● Regras básicas

○ 0 + 0 = 0○ 0 + 1 = 1○ 1 + 1 = 102 (1 mais 1 é igual a 0 e vai 1)○ 1 + 1 + 1 = 112 (1 mais 1 mais 1 é igual a 1 e vai 1)

Page 56: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosAdição - Exemplos:

0 0 1 0 0 0 1 120 1 0 0 0 1 1 12 +--------------------0 1 1 0 1 0 1 02

Page 57: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosAdição - Exemplos(com o <e vai um>):

1 1 1 0 12 1 1 0 12 +---------------1 0 0 1 02

Page 58: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosSubtração● Fazem-se as contas coluna a coluna● Se diminuidor exceder o diminuendo, subtrai-se uma

unidade ao dígito imediatamente à esquerda no diminuendo (se existir e o seu valor for 1), convertendo-o a 0

● Esse empréstimo vem valendo dois○ 0 - 0 = 0○ 1 - 1 = 0○ 1 - 0 = 1○ 0 - 1 = 1 (o empréstimo igual a 1)

Page 59: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosSubtração – Exemplo:

● O número dois corresponde a duas unidades binárias

0112 0120 0200 11000 -111 ---------- 10001

Page 60: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosMultiplicação● Operação semelhante à multiplicação decimal● Regras:

○ 0 * 0 = 0○ 0 * 1 = 0○ 1 * 0 = 0○ 1 * 1 = 1

Page 61: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosMultiplicação - Exemplo:

● Multiplicar os números 10112 e 11012●

Page 62: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteiros 1 0 1 1 1 1 0 1 * ---------- 1 0 1 1 0 0 0 0 1 0 1 1 1 0 1 1 ------------------------- 1 0 0 0 1 1 1 1

Page 63: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosDivisão● Pode ser feita por subtrações sucessivas● Pode ser feita de maneira idêntica à divisão

decimal

Page 64: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosDivisão - por subtrações sucessivas

Page 65: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteirosDivisão - idêntica à divisão decimal

Page 66: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteiros2012 – Q 41 – Gabarito A

Page 67: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números inteiros2012 – Q 41 – Resolução

13578 = 001 011 101 11122368 = 010 010 101 110 + ----------------------- 011 111 111 1012 3 7 7 58

Page 68: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números decimais

Page 69: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números decimaisDecimal zonado e decimal compactado● Valores monetários● Valores precisos● BCD (Binary-coded decimal)● Desvantagens● Faixa de valores restrita● Desperdício de memória● Não armazena ponto decimal

Page 70: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números decimaisDecimal zonado● Entrada e saída● Representa um dígito decimal por byte

○ Esquerda - zona (Nibble de mais alta ordem)○ Direita - número

● Zona ○ EBCDIC: F - 1111○ ASCII: 3 - 0011

Page 71: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números decimaisDecimal zonado● Ex: Número 1234● Binário:

○ 1111 0001 1111 0010 1111 0011 1111 0100 ● Hexadecimal:

○ F1 F2 F3 F4

Page 72: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números decimaisDecimal zonado● Sinal

○ Último byte à direita : à esquerda (parte de zona) = sinal

○ Positivo = C - 1100○ Negativo = D – 1101○ Sem sinal = F - 1111

Page 73: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números decimaisDecimal zonado● Ex: Número decimal 1234

Sem sinal: 1111 0001 1111 0010 1111 0011 1111 0100 F 1 F 2 F 3 F 4

Positivo: 1111 0001 1111 0010 1111 0011 1100 0100 F 1 F 2 F 3 C 4

Negativo: 1111 0001 1111 0010 1111 0011 1101 0100 F 1 F 2 F 3 D 4

Page 74: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números decimaisDecimal compactado● Cada byte representa dois dígitos● Exceto o último

○ Esquerda – número○ Direita - Sinal

● Exemplo: Formato COMP-3 do COBOL

Page 75: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números decimaisDecimal compactado● Sinal

○ Último byte à direita : à esquerda número a direita sinal○ Positivo = C - 1100○ Negativo = D - 1101○ Sem sinal = F - 1111

Page 76: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números decimaisDecimal compactadoEx: Número decimal 1234 Sem sinal: 0000 0001 0010 0011 0100 1111 0 1 2 3 4 F

Positivo: 0000 0001 0010 0011 0100 1100 0 1 2 3 4 C

Negativo: 0000 0001 0010 0011 0100 1101 0 1 2 3 4 D

Page 77: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números reais

Page 78: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Números reaisRepresentação de números reais:● Ponto fixo● Ponto flutuante

Page 79: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto fixo● Determinamos quantidade de bits para a parte

inteira e fracionária (matissa)● Todos os valores possuem a mesma

quantidade de algarismos inteiros e fracionários

● Sua utilização é feita programaticamente● Os inteiros são um caso particular com a

virgula implícita

Page 80: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto fixo● Formas de representação:

○ Binário puro (inteiros)○ Decimal compactado○ Decimal não compactado

Page 81: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto fixo● Ponto fixo em um 1.15● Um bit para a parte inteira● 15 bits para a fracionária

Page 82: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteNúmeros reais - Ponto flutuante● A quantidade de bits que representa um

número real é limitado, mas os números reais não

● Sofrem truncamento na sua parte fracionária● Duas partes:

○ a fração (algumas vezes chamada de mantissa)○ a posição do ponto decimal é chamada de expoente

Page 83: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante● O número decimal +6132,789

○ Fração: +.6132789○ Expoente: +04

● O valor do expoente indica que a posição real do ponto decimal é quatro pontos a direita do ponto decimal indicado na fração

● equivalente a notação científica: ○ +.6132789 x 10+4

Page 84: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante● Podem ser representados na forma Fx10E

● Onde:○ F = Fração○ E = Expoente

● Apenas a fração e o expoente são fisicamente representados em termos computacionais

● A base 10 e o ponto decimal da fração são mostrados explicitamente

Page 85: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteNormalização● Um número ponto flutuante é dito normalizado

se o dígito mais significativo da fração não é zero

● Exemplo: ○ 0.350 é normalizada○ mas 0.0035 não é

● Números normalizados fornecem a melhor precisão para números ponto flutuante

Page 86: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuantePadrão IEEE 754 (1985)● Define três formas de representação de ponto

flutuante: ○ a precisão simples (32 bits) - float○ precisão dupla (64 bits) - double○ precisão estendida (80 bits)

Page 87: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuantePadrão IEEE 754 - Representação● Forma geral de representação

● sinal - s (zero positivo, um negativo)● O campo expoente (Exp) codifica E● O campo fração (frac) codifica M (Mantissa)

sinal exp fração

Page 88: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuantePadrão IEEE 754 - Representação● O Expoente E da representação normalizada● O Expoente E, pode ser positivo ou negativo,

mas não é armazenado em complemento a dois

● Usa-se a “representação excesso” (ou bias)● E = Exp – Bias

○ Exp: valor sem sinal representado por expoente○ Nunca será negativo

Page 89: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuantePadrão IEEE 754 - Representação● Bias : valor de excesso

○ 127 em float (Exp: 1...254, E: -126...127)○ 1023 em double (Exp: 1...2046, E: -1022...1023)○ 2n-1 - 1 (no caso geral), onde n é o número de bits para

representar o expoente● Exemplos:

○ exp = 1 E = (1-127) = -126○ exp = 127 E = (127-127) = 0○ exp = 225 E = (225-127) = 98

Page 90: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuantePadrão IEEE 754 - Representação● Mantissa na representação normalizada● O padrão estabelece uma representação

normalizada, com valores 1 <= M < 2. Isto é possível, escolhendo se o Exp adequadamente adequadamente.

• A mantissa é sempre da seguinte formaM = 1 + fração

Page 91: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuantePadrão IEEE 754 - Representação● Mantissa na representação normalizada● Armazena-se apenas a parte fracionária (frac)● A soma com “1” é sempre implícita, não é

armazendo● Exemplos:

frac = 0...02 = 010 M=1,0 frac = 0101...02 = 0,25 + 0,062510 M=1,03125

Page 92: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuantePadrão IEEE 754 - Representação

Page 93: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante● float: exp = 8 bits, frac = 23 bits, sinal = 1 bit

○ Total: 32 bits○ Faixa de valores: 2-126 até 2127

● double: exp =11 bits, frac = 52 bits, sinal = 1 bit○ Total: 64 bits○ Faixa de valores: 2-1022 até 21023

● Precisão estendida: exp =15 bits, frac = 63 bits,sinal = 1 bit○ Total: 80 bits○ Faixa de valores: 2-16382 até 216383

○ 1 bit é desperdiçado

Page 94: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2011 – Q 47 – Gabarito E

Page 95: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2011 – Q 49 – Gabarito A

Page 96: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,375● Precisão simples

Page 97: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,375● Passos para resolução:

○ 1º Passo: Converter o número para binário○ 2º Passo: Normalizar o número○ 3º Passo: Calcular a representação binária do expoente○ 4º Passo: Representar em ponto flutuante

Page 98: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,37510● 1º passo: Converter o número para binário

○ Parte inteira: 1100101112

2048 1024 512 256 128 64 32 16 8 4 2 1

1 1 0 0 1 0 1 1 1

Page 99: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,37510● 1º passo: Converter o número para binário

○ Parte inteira: 1100101112○ Parte fracionária: 0112

0,375x2 = 0,7500,750x2 = 1,5000,500x2 = 1,000 -> (ponto de parada)

Page 100: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,37510● 1º passo: Converter o número para binário

○ Número na base 2: 110010111,0112

● 2º passo: Normalização: 1,100101110112 x 28

Page 101: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,37510 = 1,100101110112 x 28

● 3º Passo: Calcular a representação binária do expoente○ E = Exp - Bias○ 8 = Exp - 127○ Exp = 8 + 127○ Exp = 13510○ Exp = 100001112

Page 102: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,37510 = 1,100101110112 x 28

○ M = 100101110112○ Exp = 100001112

● 4º Passo: Representar em ponto flutuante○ a) 01000011110010111011000000000000 ?○ Correto?

Page 103: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● b) http://www.h-schmidt.net/FloatConverter/IEEE754.html● c) http://www.binaryconvert.com/convert_float.html● d) Questão●

○ a - 01000011110010111011000000000000○ b - 01000011110010111011000000000000○ c - 01000011110010111011000000000000○ d - 00001001110010111011000000000000

Page 104: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteResultado b)

Page 105: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteResultado c)

Page 106: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteExemplo: Representar o número 0,12510 em ponto flutuante com precisão simples● 1º Passo: Converter o número para binário

○ Parte inteira = 0○ Parte fracionária = 0012

■ 0,125 x 2 = 0,25■ 0,250 x 2 = 0,50■ 0,500 x 2 = 1,00 -> Ponto parada

○ 0,12510 = 0,0012

Page 107: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante● 2º Passo: Normalizar o número

○ 0,0012 = 12 x 2-3

● 3º Passo: Calcular a representação binária do expoente○ E = -3○ Bias = 127○ E = Exp - Bias○ Exp = -3 +127 = 124○ Exp = 1111 11002

Page 108: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante● 4º Passo: Representar em ponto flutuante

○ S = 0○ M = 0 ○ E = 1111100○ Resultado:

■ 0,12510 = 001111100000000000000000000000002

Page 109: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2007 - Q 19 - Gabarito D

Page 110: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2007 - 19 - Gabarito D - Resolução● Número: C1E0000016

● Sinal = 1● E = 1000 00112 = 13110 - 12710 = 410● M = 112 = 1,112 (1 implícito)

Hex C 1 E 0 0 0 0 0

Binário 1100 0001 1110 0000 0000 0000 0000 0000

Page 111: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2007 - 19 - Gabarito D - Resolução● Número: C1E0000016

○ Sinal = 1○ E = 410

● M = 1,112 = 1x20 x 1x2-1 x 1x2-2 = 1 + ½ + ¼ = = 1 + 0,5 + 0,25 = 1,7510● Representação: -1,75 x 24 = -1,75 x 16 = -28

Page 112: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteErros● Conjunto de números de números reais é

infinito● Representação em Ponto flutuante é limitada

○ a faixa dos expoentes é limitada (Emin ≤ E ≤ Emax)○ a mantissa (m) pode representar um número finito de

números ( β−1 ≤ m ≤ 1 − β−t )■ t = número de algarismos da mantissa■ β = base

Page 113: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteErros● Representação em Ponto flutuante é limitada

○ a faixa dos expoentes é limitada (Emin ≤ E ≤ Emax)■ Erros de Overflow e Underflow

○ a mantissa (m) pode representar um número finito de números ( β−1 ≤ m ≤ 1 − β−t )■ Erros de aproximação

● t = número de algarismos da mantissa● β = base

Page 114: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteErro - Overflow e Underflow● Número com expoente superior ao expoente

máximo● Número com expoente inferior ao expoente

mínimo

Page 115: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteErro - Overflow e Underflow● Principais ações na ocorrência do erro:● Overflow

○ Encerra o cálculo○ Retorna um número que representa o infinito

● Underflow○ Encerra o cálculo○ Arredonda para zero○ Arredonda para um número subnormal

Page 116: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteErro - Aproximação● O tamanho fixo da mantissa impõe que a

maioria dos números não possuam uma representação exata

● Duas formas:○ Arredondamento○ Truncamento (chopping)

Page 117: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuanteErro - Aproximação - Arredondamento● Exemplo: 2,6457513

○ Hipótese: base decimal de 5 dígitos● Arredondamento

○ Para cima se Y ≥ 5 e para baixo se Y < 5○ 2,6458

● Truncamento○ 2,6457

Page 118: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2013 - Q 34 - Gabarito - Anulada

Page 119: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Ponto flutuante2013 - Q 34 - Gabarito - Anulada ● Motivos?

○ 0,314710 = 0.010100012

Page 120: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Representação de dados, símbolos e caracteres

Page 121: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Representação de dadosRepresentação de dados, símbolos e caracteres● Os bytes são utilizados para representar

caracteres números, figuras, ou qualquer outro tipo de dado armazenado ou processado por um sistema computacional

Page 122: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Representação de dadosASCII● American Standard Code for Information

Interchange● Originalmente utilizava 7 bits

○ Apenas 95 caracteres imprimíveis: 32 a 126○ Do 0 ao 31 são caracteres de controle

● A versão estendida utiliza 8 bits○ Letras do alfabeto latino

Page 123: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Representação de dados

Page 124: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Representação de dados● EBCDIC

○ Padrão IBM○ Utiliza 8 bits○ Concorrência com ASCII

Page 125: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Representação de dadosUNICODE● Padronização de representação● Unicode Consortium● Associa um número para cada carácter, independente do

programa, plataforma ou idioma● Codificados em 2 bytes● Formas de representação como UTF-8, UTF-16 e UTF-32● UTF - Unicode Transformation Format

Page 126: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Perguntas?

Page 127: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2

Obrigado!

Page 128: Aula 07 Sistemas de Computacao a Aula 01-V2!22!03 2014 2