aula 5: representação de números fracionários: ponto fixo e ponto flutuante graduação em...

28
Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr. Daniel A. Furtado Universidade Federal de Uberlândia Faculdade de Computação

Upload: anna-nery

Post on 07-Apr-2016

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Aula 5: Representação de Números Fracionários:

Ponto Fixo e Ponto Flutuante

Graduação em Sistemas de InformaçãoDisciplina: Sistemas Digitais

Prof. Dr. Daniel A. Furtado

Universidade Federal de UberlândiaFaculdade de Computação

Page 2: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Fixo Binário

Número fixo de bits para a parte inteira e para a parte fracionária, independente do número a ser representado.

Exemplo - número binário em ponto fixo (sem sinal) com 8 dígitos, sendo 5 dígitos para a parte inteira e 3 dígitos para a parte fracionária:

• Maior número que pode ser representado: •

• Menor número (exceto o zero):

Qualquer código que utilizar tal representação precisa ter conhecimento da posição exata do ponto decimal.

Ponto binário.

Parte inteira Parte fracionária

Page 3: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Fixo Binário - Notação

Fixed<n, b>

• n: número total de bits utilizados

• b: posição do ponto binário, contando a partir do bit menos significativo

Exemplo: • Fixed<8, 3>

.

8 bits no total

3 bits para a parte fracionária

Page 4: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Fixo Binário - Notação

Por exemplo, o padrão de bits 101102, quando representado

como um número em ponto fixo no formato fixed<8,3>, denota o número 2.75:

• 00010.110

0 0 0 1 0 1 1 0.

Page 5: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Fixo Binário - Notação

Outras representações para o padrão de bits 10110:

Formato Representação Binária

Valor Decimal

Fixed<8,2> 000101.10Fixed<8,4> 0001.0110Fixed<5,1> 1011.0Fixed<5,0> 10110.

Page 6: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Fixo Binário - Operações

Adição e subtração podem ser realizadas da mesma forma que em números inteiros

Exemplo utilizando o formato fixed(8,2)

000101.10 (5.510)

+ 000011.11 (3.7510 )

001001.01 (9.2510 )

Page 7: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Fixo Binário

Vantagens• Representação simples

• Operações realizadas utilizando a aritmética de inteiros (o hardware desenvolvido para operações com inteiros pode ser reutilizado)

• Operações mais rápidas (do que as operações em ponto flutuante)

Desvantagens• Menor intervalo de valores possíveis (comparado à representação

em ponto-flutuante)

• Impossibilidade de representar certos números com exatidão, como frações de potência de 10 (0.1, 0.2, etc.)

Page 8: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Ponto Fixo Binário e Frações de Potência de 10

Considere o número 1.810

• Aproximação utilizando o formato fixed<8,1>

• Aproximação utilizando o formato fixed<8,2>

• Aproximação utilizando o formato fixed<8,3>

• O número 1.8 nunca será representado com total exatidão, independente do número de bits utilizados na parte fracionária.

Page 9: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Flutuante

Page 10: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Flutuante Não reserva um número específico de bits para a

parte inteira ou fracionária; Reserva uma quantidade de bits para a parte

principal do número, chamada mantissa, e outra para indicar ”onde está” o ponto binário.

Page 11: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Flutuante Base na representação em notação científica Representações para 1.234 expoente

mantissa base

Outras representações:

Page 12: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

IEEE 754-1985 (single)

31 23 0

Expoente (8 bits) Mantissa (23 bits)Sinal

Page 13: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

IEEE 754-1985 (single) - Exemplo

10,2510 → 1010.012 → 1.01001 x 23

Sinal → + Expoente → 127+3 = 130 → (01111111+11) = 10000010 Mantissa→ 01001000000000000000000

0 10000010 01001000000000000000000

31 30 23 22 0

Page 14: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

IEEE 754-1985 – Número Zero Sinal pode ser 0 (zero positivo) ou 1 (zero negativo) Expoente = 0 Mantissa = 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

+0 (utilizando 32 bits – single)

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

-0 (utilizando 32 bits – single)

Page 15: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

IEEE 754-1985 – Infinito Sinal

• 0 para +infinito• 1 para –infinito

Expoente: todos os bits iguais a 1 Mantissa: todos os bits iguais a 0

0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

+infinito (utilizando 32 bits – single)

1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

-infinito (utilizando 32 bits – single)

Page 16: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

IEEE 754-1985 – NaN Representação de NaN (Not a Number)

• Sinal: 0 ou 1• Expoente: todos os bits iguais a 1• Mantissa: qualquer valor que não seja tudo 0

0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Page 17: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Flutuante

Vantagens• Maior intervalo de valores

Desvantagens• Impossibilidade de representar certos números

com exatidão, como frações de potência de 10 (0.1, 0.2, etc.)

• Problemas com arredondamentos

• Ver programa

Page 18: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Métodos de Detecção e Correção de Erros

Page 19: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

19

Motivação A transmissão de informação em formato digital

(binário) é uma das operações mais frequentes em Sistemas Digitais;

Devido a interferência externa, ruídos, atenuação de sinal, etc, o sinal pode ser corrompido e, consequentemente, a informação transmitida torna-se incorreta;

Detecção e correção de erros lida com mecanismos para atenuar tais problemas.

Ref: Prof. Dr. Daniel Duarte Abdala

Page 20: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

20

Motivação

Ref: Prof. Dr. Daniel Duarte Abdala

Joãozinho Godofredo

Page 21: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

21

Solução Enviar juntamente com a informação, dados

adicionais que permitem a verificação e possivelmente a correção de erros de transmissão;

Método de Paridade.

Ref: Prof. Dr. Daniel Duarte Abdala

Page 22: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

22

Método de Paridade Bit de paridade

• Bit extra anexado ao conjunto de bits do código a ser transmitido

• Paridade par e paridade impar; Paridade par – o bit extra assume o valor 0 ou 1 de

modo que o total de bits 1 seja par;

Ref: Prof. Dr. Daniel Duarte Abdala

0 1 1 1 0 0 0P 0 1 1 1 0 0 01

0 1 1 1 1 0 0P 0 1 1 1 1 0 00

Page 23: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

23

Método de Paridade Paridade impar – o bit extra assume o valor 0 ou 1 de

modo que o total de bits 1 seja impar;

Ref: Prof. Dr. Daniel Duarte Abdala

0 1 1 1 0 0 0P 0 1 1 1 0 0 00

0 1 1 1 1 0 0P 0 1 1 1 1 0 01

Page 24: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

24

Exemplo Deseja-se transmitir a mensagem “´Gol do Verdao”

representada em ASCII de um computador A para outro B.

Quais seriam as cadeias de caracteres a serem transmitidas utilizando-se a paridade par?

Ref: Prof. Dr. Daniel Duarte Abdala

Page 25: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

25

ExemploCaractere Cod. ASCII ASCII com par. par‘G’ 0100 0111 0100 0111‘o’ 0110 1111 0110 1111‘l’ 0110 1100 0110 1100‘ ‘ 0010 0000 1010 0000‘d’ 0110 0100 1110 0100‘o’ 0110 1111 0110 1111‘ ‘ 0010 0000 1010 0000‘V’ 0101 0110 0101 0110‘e’ 0110 0101 0110 0101‘r’ 0111 0010 0111 0010‘d’ 0110 0100 1110 0100‘a’ 0110 0001 1110 0001‘o’ 0110 1111 0110 1111

Ref: Prof. Dr. Daniel Duarte Abdala

Page 26: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

26

Problemas com o Método de Paridade

Permite identificar que erros de transmissão ocorreram;

O que acontece se ocorrem um número par de erros?

Não permite identificar quais bits foram transmitidos erroneamente;

Solução: RETRANSMISSÃO.

Ref: Prof. Dr. Daniel Duarte Abdala

Page 27: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Referências https://inst.eecs.berkeley.edu/~

cs61c/sp06/handout/fixedpt.html http://en.wikipedia.org/wiki/Fixed-point_arithmetic

Page 28: Aula 5: Representação de Números Fracionários: Ponto Fixo e Ponto Flutuante Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr

Representação em Ponto Fixo Decimal

...