aula 5: representação de números fracionários: ponto fixo e ponto flutuante graduação em...
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
...