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

Post on 07-Apr-2016

230 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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.

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.

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 )

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.)

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.

Representação em Ponto Flutuante

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.

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:

IEEE 754-1985 (single)

31 23 0

Expoente (8 bits) Mantissa (23 bits)Sinal

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

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)

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)

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

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

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

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

20

Motivação

Ref: Prof. Dr. Daniel Duarte Abdala

Joãozinho Godofredo

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

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

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

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

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

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

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

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

Representação em Ponto Fixo Decimal

...

top related