Buscar

slide02 Representação Computacional dos Números Reais 2017

Prévia do material em texto

Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Representação Computacional dos Números
Patrick Terrematte
PEX0103− Cálculo Numérico
C&T− Bacharelado em Ciência e Tecnologia
UFERSA− Pau dos Ferros
14 de julho de 2017
img/imd.png
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Sumário
1 Caracterização de uma representação
Representação dos números reais
2 Representação IEEE 754
Arredondamento
Padrão IEEE 754 - Exemplos
3 Questão - Ponto Flutuante - IEE754
4 Erros na representação
Representação computacional
Tipos de Erros
Representação de Erros
5 Adição em Ponto Flutuante
6 Multiplicação em Ponto Flutuante
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação dos números reais
Sumário
1 Caracterização de uma representação
Representação dos números reais
2 Representação IEEE 754
Arredondamento
Padrão IEEE 754 - Exemplos
3 Questão - Ponto Flutuante - IEE754
4 Erros na representação
Representação computacional
Tipos de Erros
Representação de Erros
5 Adição em Ponto Flutuante
6 Multiplicação em Ponto Flutuante
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação dos números reais
Representação
A representação dos números reais é mais delicada que a dos
números inteiros, não só na versão discreta mas também em sua
versão impressa.
É necessário saber lidar com números extremamente grandes ou
pequenos que ocorrem como resultados de medições físicas.
A forma precisa pela qual os números reais devem ser
representados em um computador varia entre as diferentes
máquinas.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação dos números reais
Antes da representação computacional de um número racional ser
apresentada o número deve ser convertido a sua forma binária.
Após se encontrar na forma binária ele deve ser expresso na
forma binária exponencial normalizada.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação dos números reais
Conceito
Normalizar: Apresentar o valor assumindo um conjunto de regras
padrão, de forma que todos os valores tenham a mesma estrutura.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação dos números reais
Exemplos
Exemplos de representação normalizada de números reais:
Número de Permutações de Baralho: 52! ∼= 0, 80658175 ∗ 1068
Big bang ocorreu: 16,7 bilhões de anos atrás
∼= 0, 15503742 ∗ 1018 segundos
Massa da terra ∼= 0, 5976 ∗ 1025kg
Para representar um valor como 0, 5976 ∗ 1025, basta assumir uma
base e registrar os valores:
parte fracionária (mantissa): 5976
expoente: 25
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação dos números reais
Apresentação dos números reais na base numérica Binária
Como representar 45,6875 de forma normalizada em base binária?
1 Converter para binário: (45, 6875)10 = (101101, 1011)2
2 Normalizar: (1, 011011011)2 ∗ 25
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação dos números reais
Apresentação dos números reais
A forma normalizada apresentada pode ser visualizada, para qualquer
base numérica da seguinte forma: ±1,mantissa ∗ base±expoente
Observe que o número é sempre representado com “1,”.
A mantissa representa os dígitos significantes do número.
O expoente regula a precisão da representação, é representado
por deslocamento (offset).
A razão da normalização é garantir que a representação de
qualquer número é única.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
IEEE 754 - Expoentes por deslocamento (offset)
O expoente negativo não é representado em sinal/magnitude,
nem complemento de dois, mas com offset:
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
IEEE 754 - Expoentes por deslocamento (offset)
Expoente para precisão simples:
Expoente −1 : −1 + 12710 = 12610 = 011111102
Expoente +1 : +1 + 12710 = 12810 = 100000002
Expoente +5 : (+5) + 12710 = 13210 = 100001002
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
IEEE 754
Exemplos em notação científica normalizada na base 2, no formato
normalizado 1 mais (“1.”) com precisão simples (utilizando 32 bits): x
= 8 (offset de 127) e y = 23.
1.10100012 ∗ 220 (exp. 2010 + 12710 = 14710)
0|10010011|10100010000000000000000
1.10100012 ∗ 2−20 (exp. −2010 + 12710 = 10710)
0|01101011|10100010000000000000000
−1.10100012 ∗ 2−20 (exp. −2010 + 12710 = 10710)
1|01101011|10100010000000000000000
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Número mín. e máx. positivo em precisão simples normalizado
(32b):
2−126 até (2− 2−23) ∗ 2127
Overflow e Underflow:
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Padrão IEEE 754 - núm denormalizados
Números com expoente menor que Emin são possíveis e possibilitam
underflow gradual: x, y pequenos, se x 6= y então x− y 6= 0:
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Patrick Terrematte Representação Computacional dos Números
Caracterizaçãode uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Ponto Flutuante - IEE754
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Ponto Flutuante - IEE754
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Descobrindo a machine epsilon da máquina
Estimação de ε, dado que 1 + ε 6= 1:
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Sumário
1 Caracterização de uma representação
Representação dos números reais
2 Representação IEEE 754
Arredondamento
Padrão IEEE 754 - Exemplos
3 Questão - Ponto Flutuante - IEE754
4 Erros na representação
Representação computacional
Tipos de Erros
Representação de Erros
5 Adição em Ponto Flutuante
6 Multiplicação em Ponto Flutuante
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Sumário
1 Caracterização de uma representação
Representação dos números reais
2 Representação IEEE 754
Arredondamento
Padrão IEEE 754 - Exemplos
3 Questão - Ponto Flutuante - IEE754
4 Erros na representação
Representação computacional
Tipos de Erros
Representação de Erros
5 Adição em Ponto Flutuante
6 Multiplicação em Ponto Flutuante
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Padrão IEEE 754 - Exemplos
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Padrão IEEE 754 - Exemplos
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Padrão IEEE 754 - Exemplos
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteArredondamento Padrão IEEE 754 - Exemplos
Padrão IEEE 754 - Exemplos
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questões!
Dado um padrão (coerente com o IEEE-754) de ponto flutuante com 16 bits,
chamado de ponto flutuante de meia-precisão, com 1 bit de sinal, 5 bits de expoente,
representado por codificação por excesso (offset de 15) e 10 bits de mantissa,
representada no formato normalizado 1 mais (“1.”), e sabendo-se que os códigos
00000 e 11111 no campo de expoente são reservados para excessões de formato:
Qual o maior e menor valor positivo representáveis em formato
normalizado?
R1.: O maior expoente é “11110”, e pelo offset, 30− 15 = 15. O maior
número na mantissa com 10 bits é 1.11111111112, o que corresponde a
2− 2−10. Logo, o maior valor positivo é (2− 2−10) ∗ 215.
R2.: O menor expoente é “00001”, e pelo offset, 1− 15 = −14. O
menor número na mantissa com 10 bits é 1.00000000002, o que
corresponde a 12. Logo, o menor valor positivo é 1 ∗ 2−14.
Qual é o tamanho do “buraco no zero” (hole at zero de underflow)?
R.: O buraco do zero se extende do zero até o menor valor positivo
representável 2−14 e até o maior valor negativo representável, −2−14.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questões!
Determine a forma binária do número racional 0.7510. Qual sua
representação no formato binário de 32 bits da IEEE 754 (forneça a
sequência de 32 bits).
Determine a forma binária do número racional (1/3)10. Qual sua
representação no formato binário de 32 bits da IEEE 754 (forneça a
sequência de 32 bits).
Qual número decimal real é expresso pela seguinte palavra?
1|10000001|01000000000000000000000
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão - Ponto Flutuante - IEE754
Questão.
Considere uma representação de acordo com o padrão IEE754 com 12 bits: 1 para o
sinal, 4 para o expoente (em excesso-de-7) e 7 para a mantissa (em notação “1 mais”).
Qual o maior e o menor número positivo (acima de 0) representáveis em
formato normalizado?
Maior:
(−1)0 · 2(14−7) · (1, 1111111)2,
27 ∗ (2 − 2−7) = 28 − 1 = 255
Menor:
(−1)0 · 2(1−7) · (1, 0000000)2,
1 ∗ 2−6
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão - Ponto Flutuante - IEE754
Questão.
Considere uma representação de acordo com o padrão IEE754 com 12 bits: 1 para o
sinal, 4 para o expoente (em excesso-de-7) e 7 para a mantissa (em notação “1 mais”).
Qual o maior e o menor número positivo representável no formato
denormalizado?
Sabendo-se que o código 0000 para o expoente é usado para representar números em
formato não normalizado, assumindo prefixo “0,” à esquerda da mantissa, com
expoente implícito de “-6”.
Maior:
(−1)0· 2(1−7) · (0.1111111)2,
2−6 ∗ (1 − 2−7)
Menor:
(−1)0 · 2(1−7) · (0.0000001)2,
2−6 ∗ 2−7 = 2−13
Extra. Se nos dois itens acima a palavra “positivo” fosse substituída por negativo,
como mudariam as respostas? Por que?
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão - Ponto Flutuante - IEE754
Questão.
Considere uma representação de acordo com o padrão IEE754 com 12 bits: 1 para o
sinal, 4 para o expoente (em excesso-de-7) e 7 para a mantissa (em notação “1 mais”).
Qual é o valor do ε de máquina (machine epsilon) desta representação
considerando os casos de arredondamento para o mais próximo e
arredondamento por truncamento?
Quando o arredondamento é por truncamento, o macheps é a distância entre o 1 e o
número de máquina seguinte.
Esta diferença corresponde ao peso do bit menos significativo da mantissa, e é
portanto, 2−7 (já que há 7 bits no campo de mantissa).
Quando o arredondamento é para o mais próximo, macheps é a metade deste valor,
2−7/2 = 2−8, pois na metade do caminho entre 1 e o número de máquina seguinte é
onde se dá o limite entre os números que arredondam para baixo ou para cima,
quando o critério é proximidade.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão - Ponto Flutuante - IEE754
Questão.
Considere uma representação de acordo com o padrão IEE754 com 12 bits: 1 para o
sinal, 4 para o expoente (em excesso-de-7) e 7 para a mantissa (em notação “1 mais”).
Qual é o valor do ε de máquina (machine epsilon) desta representação
considerando os casos de arredondamento para o mais próximo e
arredondamento por truncamento?
Quando o arredondamento é por truncamento, o macheps é a distância entre o 1 e o
número de máquina seguinte.
Esta diferença corresponde ao peso do bit menos significativo da mantissa, e é
portanto, 2−7 (já que há 7 bits no campo de mantissa).
Quando o arredondamento é para o mais próximo, macheps é a metade deste valor,
2−7/2 = 2−8, pois na metade do caminho entre 1 e o número de máquina seguinte é
onde se dá o limite entre os números que arredondam para baixo ou para cima,
quando o critério é proximidade.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão - Ponto Flutuante - IEE754
Questão 1. Considere
24 bits = 1 bit de sinal + 7 bits de expoente (offset de 63) + 16 bits de mantissa
(1-mais).
Quais são os valores dos números de máquina imediatamente maior e menor
do que 220 ?
220 é representado por
(−1)0 · 220 · (1.0000000000000000)2 = 210 · 210 = 1024 · 1024 = 1048576
Assim, o número imediatamente menor do que 220 é representado por
(−1)0 · 219 · (1.1111111111111111)2 = 219 · (2− 2−16) =
220 − 23 = 1048576− 8 = 1048568
e que o número imediatamente maior do que 220 é o representado por
(−1)0 ·220 ·(1.0000000000000001)2 = 220 +24 = 1048576+16 = 1048592
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão - Ponto Flutuante - IEE754
Questão 1. Considere
24 bits = 1 bit de sinal + 7 bits de expoente (offset de 63) + 16 bits de mantissa
(1-mais).
Quais são os valores dos números de máquina imediatamente maior e menor
do que 220 ?
220 é representado por
(−1)0 · 220 · (1.0000000000000000)2 = 210 · 210 = 1024 · 1024 = 1048576
Assim, o número imediatamente menor do que 220 é representado por
(−1)0 · 219 · (1.1111111111111111)2 = 219 · (2− 2−16) =
220 − 23 = 1048576− 8 = 1048568
e que o número imediatamente maior do que 220 é o representado por
(−1)0 ·220 ·(1.0000000000000001)2 = 220 +24 = 1048576+16 = 1048592
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão - Ponto Flutuante - IEE754
Questão 1. Considere
24 bits = 1 bit de sinal + 7 bits de expoente (offset de 63) + 16 bits de mantissa
(1-mais).
Quais são os valores dos números de máquina imediatamente maior e menor
do que 220 ?
220 é representado por
(−1)0 · 220 · (1.0000000000000000)2 = 210 · 210 = 1024 · 1024 = 1048576
Assim, o número imediatamente menor do que 220 é representado por
(−1)0 · 219 · (1.1111111111111111)2 = 219 · (2− 2−16) =
220 − 23 = 1048576− 8 = 1048568
e que o número imediatamente maior do que 220 é o representado por
(−1)0 ·220 ·(1.0000000000000001)2 = 220 +24 = 1048576+16 = 1048592
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Sumário
1 Caracterização de uma representação
Representação dos números reais
2 Representação IEEE 754
Arredondamento
Padrão IEEE 754 - Exemplos
3 Questão - Ponto Flutuante - IEE754
4 Erros na representação
Representação computacional
Tipos de Erros
Representação de Erros
5 Adição em Ponto Flutuante
6 Multiplicação em Ponto Flutuante
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Computadores podem representar apenas um subconjunto finito de
números do conjunto dos números racionais.
Esse subconjunto é chamado de números de ponto flutuante.
Os resultados das operações aritméticas são apenas aproximados.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Conceitos
Alcance: Diz respeito ao número de bits ocupados para armazenar o
expoente.
Quanto maior for o número de bits para o expoente, maior
espectro de alcance do número.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Conceitos
Precisão: Se refere ao quão próximo um número representado pelo
computador representa o número que ele deseja reproduzir. A
precisão é determinada pela quantidade de dígitos empregados na
representação (mantissa).
Quanto maior o número de bits utilizado, maior o número de
dígitos significativos que podem ser armazenados.
A constante pi será representada com maior precisão utilizando 8
bytes do que com 4 bytes.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Conceitos
Dependendo do número de bits do expoente (alcance) e da mantissa(precisão), podem ocorrer situações de overflow e underflow.
Overflow. Designa que um valor não pode ser representado pois
seu valor excede a capacidade de armazenamento disponível.
Ocorre quando o valor do expoente não pode ser armazenado no
número de bits reservados ao expoente.
Underflow. Designa que um valor não pode ser representado
pois está contido entre 0 e o menor valor real normalizado
representável.
Ocorre quando o número a ser representado é maior que 0 (zero)
mas é menor que o menor número representável.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Conceitos
Conclusão:
a retirada de um bit da representação do expoente para representação
da mantissa aumenta a precisão de representação, pois diminui o
“passo” de representação do número. No entanto, a perda de um bit
no expoente implica na diminuição da faixa de valores representável.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Conceitos
Acurácia: Se refere ao quão próximo um número representado pelo
computador está do valor correto do número que ele deseja
representar.
A acurácia é guiada pelos erros de truncamento e de
arredondamento nos procedimentos numéricos empregados.
Se os números pi1 = 3,1416304958 e pi2 = 3,1415809485
desejam representar o número pi= 3,141592654. . . , temos que o
número pi2 possui maior acurácia que pi1, embora ambos
possuam a mesma precisão.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Sumário
1 Caracterização de uma representação
Representação dos números reais
2 Representação IEEE 754
Arredondamento
Padrão IEEE 754 - Exemplos
3 Questão - Ponto Flutuante - IEE754
4 Erros na representação
Representação computacional
Tipos de Erros
Representação de Erros
5 Adição em Ponto Flutuante
6 Multiplicação em Ponto Flutuante
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Tipos de erros
Inerentes: O usuário não tem condições de evitá-los. Surgem de
medidas aproximadas, modelos matemáticos, etc.
Exemplo
Cálculo de uma circunferência.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Tipos de erros
Truncamentos: Surgem quando substituímos um processo
matemático infinito por uma parte finita dele.
Exemplo 1
Cálculo de S =
∞∑
k=0
ak
Limitamos para um número n de parcelas.
Sn ∼=
n−1∑
k=0
ak
Rn = S− Sn é um erro de truncamento (ou truncatura).
Exemplo 2
(0.11)10 = (0.0001110000101000111101...)2
Considerando um computador que trabalhe com 6 dígitos, (0.11)10
será armazenado como (0.000111)2:
S =
30000∑
k=1
xi
- Resultado real: S = 3300
- No computador: S = 3299.99
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Tipos de erros
Truncamentos: Surgem quando substituímos um processo
matemático infinito por uma parte finita dele.
Exemplo 1
Cálculo de S =
∞∑
k=0
ak
Limitamos para um número n de parcelas.
Sn ∼=
n−1∑
k=0
ak
Rn = S− Sn é um erro de truncamento (ou truncatura).
Exemplo 2
(0.11)10 = (0.0001110000101000111101...)2
Considerando um computador que trabalhe com 6 dígitos, (0.11)10
será armazenado como (0.000111)2:
S =
30000∑
k=1
xi
- Resultado real: S = 3300
- No computador: S = 3299.99
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Tipos de erros
Arredondamentos: Erros cometidos pelos computadores ao
realizarem operações aritméticas.
Exemplo
Para pi = 3.14159265
Se a máquina tiver uma mantissa de 6 dígitos:
pi ∼= 3.14159
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Tipos de erros
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Sumário
1 Caracterização de uma representação
Representação dos números reais
2 Representação IEEE 754
Arredondamento
Padrão IEEE 754 - Exemplos
3 Questão - Ponto Flutuante - IEE754
4 Erros na representação
Representação computacional
Tipos de Erros
Representação de Erros
5 Adição em Ponto Flutuante
6 Multiplicação em Ponto Flutuante
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Erro absoluto
É denotado por ∆x¯ e representa a diferença entre o valor exato de x e
o seu valor aproximado x¯. Ou seja:
∆x¯ = x - x¯
Exemplo. Erros (absolutos, |∆pi| ) de arredondamento para
pi = 3, 14159265:
|pi − p¯i| = |pi − 3, 14| = 0, 0015926... < 0, 005 = 0, 5 ∗ 10−2
|pi − p¯i| = |pi − 3, 142| = 0, 0004073... < 0, 0005 = 0, 5 ∗ 10−3
|pi − p¯i| = |pi − 3, 1416| = 0, 00000735.. < 0, 00005 = 0, 5 ∗ 10−4
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Erro Relativo
É denotado por σx¯ e representa o quociente entre o erro absoluto ∆x¯ e
o valor exato x (x 6= 0). Ou seja:
σx¯ = ∆x¯ / x
σx¯ = (x− x¯) / x
Exemplo. Erros (relativos, |σpi|) de arredondamento para
pi = 3, 14159265:
|pi−p¯i|
pi
= |pi−3,14|3,14159265 = 0, 00050694... < 0, 005 = 0, 5 ∗ 10−2
|pi−p¯i|
pi
= |pi−3,142|3,14159265 = 0, 000129648... < 0, 0005 = 0, 5 ∗ 10−3
|pi−p¯i|
pi
= |pi−3,1416|3,14159265 = 0, 00000234... < 0, 000005 = 0, 5 ∗ 10−5
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto FlutuanteMultiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Exemplos de Erros
a) Em 10000 itens a serem contados, foram encontrados 9999.
x = 10000 e x¯ = 9999
erro absoluto: |∆x¯| = 1
erro relativo: |σx¯| = 1/10000 = 0, 0001
b) Em 10 itens a serem contados, foram encontrados 9.
x = 10 e x¯ = 9
erro absoluto: |∆x¯| = 1
erro relativo: |σx¯| = 1/10 = 0, 1
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto FlutuanteRepresentação computacional Tipos de Erros Representação de Erros
Padrão IEEE 754 - precisão
Seja x um número Real e F(x) sua representação em Ponto Flutuante.
O erro absoluto de representação é F(x)− x Sejam F1 e F2 tais que
F1 ≤ x ≤ F2
então F(x) pode ser F1 ou F2.
Se F1 = M ∗ 2E então F2 = (M + ulp)2E
e o erro máximo é 12 |F1 − F2| = ulp ∗ 2E
O erro relativo de representação é δ(x) = |F(x)−x|x
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Aritmética Computacional em Ponto Flutuante
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Adição em Ponto Flutuante
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Adição em Ponto Flutuante
Exemplo: 9, 999 ∗ 101 + 1, 610 ∗ 10−1
base decimal, com 3 dígitos de mantissa e 2 dígitos no expoente.
1 compara; desloca significando e ajusta expoente do menor
0, 01610 ∗ 101 trunca para quatro dígitos: 0, 016 ∗ 101
2 soma
3 normaliza 10, 015 ∗ 101 =norm 1, 0015 ∗ 102
4 arredonda e trunca para 4 dígitos
se dígito à direita 0 ≤ d ≤ 4, arredonda para menos;
senão (5 ≤ d ≤ 9), arredonda para mais:
9, 999 ∗ 101 + 1, 610 ∗ 10−1 = 1.002 ∗ 102
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Adição em Ponto Flutuante
Exemplo: 0, 5 + (−716 )
base decimal com 3 dígitos de mantissa e 2 dígitos no expoente,
converta para binário e calcule.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Multiplicação em Ponto Flutuante
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Multiplicação em Ponto Flutuante
Exemplo: 1, 110 ∗ 1010 × 9, 200 ∗ 10−5
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Multiplicação em Ponto Flutuante
Exemplo: 0, 5× (−0, 4375) em representação de 32b IEEE-754
1, 000 ∗ 2× (−1, 110 ∗ 2−2)
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão
Considere números em ponto flutuante de acordo com o padrão de representação
IEEE-754, mas com 12 bits: 1 para o sinal, 4 para o expoente (em excesso-de-7) e 7
para a mantissa (em notação “1 mais”).
1 Exiba o processo da adição por truncamento:
(1, 0000001)2 ∗27
+ (1, 1011001)2 ∗25
2 Sabendo que os valores originais foram (129, 5)10 e (54, 25)10.
Calcule os erros absolutos de representação de cada um dos
números de máquina obtidos nos dois itens anteriores em relação
aos resultados originais que deveriam ser obtidos.
3 Extra: Quais seriam os erros de representação se o método de
arredondamento utilizado fosse para o mais próximo?
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão
Exiba o processo da adição das representações obtidas para:
Ajustando para o mesmo expoente:
(1, 0000001)2 ∗27
+ (0, 0110110 01)2 ∗27
(1, 0110111 01)2 ∗27
Como o arredondamento é por truncamento, o resultado é
(1, 0110111)2 ∗ 27.Desta forma, o bit de sinal é 0, o campo de
expoente conterá 7+7=14 em binário em 4 bits, que é 1110, e o campo
de mantissa 0110111. Juntando tudo, a sequencia de 12 bits da
representação fica
0 1110 0110111.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão
1 Sabendo que os valores originais foram (129, 5)10 e (54, 25)10.
Calcule os erros absolutos de representação de cada um dos
números de máquina obtidos nos dois itens anteriores em relação
aos resultados originais que deveriam ser obtidos.
2 Extra: Quais seriam os erros de representação se o método de
arredondamento utilizado fosse para o mais próximo?
O número de máquina usado para o qual (129, 5)10 foi arredondado
para (1, 0000001)2 ∗ 27 = (10000001)2 = (129)10.
O erro absoluto é, portanto, a diferença entre os dois: (0, 5)10.
O número (54, 25)10 não sofreu arredondamento, e portanto o erro de
representação é 0.
Extra: A soma de (1, 0110111)2 ∗ 27 = (1011 0111)2 = (183)10. O
resultado deveria dar (129, 5)10 + (54, 25)10 = (183, 75)10. O erro é
0, 7510.
(1, 0000001)2 ∗ 2−7
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Questão - Ponto Flutuante - IEE754
Questão.
24 bits = 1 bit de sinal + 7 bits de expoente (offset de 63) + 16 bits de mantissa
(1-mais). Sabendo-se que os códigos 0000000 e 1111111 são reservados para
números denormalizados e excessões de formato.
Calcule, usando aritmética de ponto flutuante, o valor decimal da seguinte
operação no sistema acima.
48A348hex + 4A0821hex
Convertendo acima para números binários, obtemos:
(010010001010001101001000)2 e (010010100000100000100001)2
Convertendo estes números, obtemos
(−1)0 · 2(72−63) · (1.1010001101001000)2 = 29 · (1.1010001101001000)2
(−1)0 · 2(74−63) · (1.0000100000100001)2 = 211 · (1.0000100000100001)2.
Ajusta os expoentes, movendo a mantissa do número com menor expoente:
211 · (0.011010001101001000)2 + 211 · (1.0000100000100001)2 =
211 · (1.0111000011110011)2 = (101110000111.10011)2 = (2951.59375)10.
Patrick Terrematte Representação Computacional dos Números
Caracterização de uma representação Representação IEEE 754 Questão - Ponto Flutuante - IEE754 Erros na representação Adição em Ponto Flutuante Multiplicação em Ponto Flutuante
Perguntas?
Patrick Terrematte Representação Computacional dos Números
	Caracterização de uma representação
	Representação IEEE 754
	Questão - Ponto Flutuante - IEE754
	Erros na representação
	Adição em Ponto FlutuanteMultiplicação em Ponto Flutuante

Continue navegando