Upload
hoangngoc
View
221
Download
0
Embed Size (px)
Citation preview
Sistemas de numeração de vírgula flutuante
Sistemas de Vírgula Flutuante
Luiz C. G. Lopes
Departamento de Matemática e EngenhariasUniversidade da Madeira
Análise e Computação NuméricaMAT 2 05 – 2007/08
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Definição. Diz-se que um número real x ∈ R\{0} é umnúmero de vírgula flutuante normalizado se forem verificadasas seguintes condições:
x = m × βe
m = ±0,d1d2 . . . dp = ±(d1β + d2
β2 + · · ·+ dpβp ), p ∈ N
1 ≤ d1 ≤ β − 1, 0 ≤ di ≤ β − 1, i = 2, . . . , pemin ≤ e ≤ emax , emin, emax ∈ Z, emin ≤ 0, emax ≥ 1
onde:β é a base do sistema de numeração, β ≥ 2;e é o expoente inteiro da base, sendo emin o menor e emax omaior expoente;m é a mantissa;p é a precisão, isto é, a quantidade máxima de dígitos usadosna representação do número, edi , i = 1, . . . , p são os dígitos da mantissa.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Definição. Diz-se que um número real x ∈ R\{0} é umnúmero de vírgula flutuante normalizado se forem verificadasas seguintes condições:
x = m × βe
m = ±0,d1d2 . . . dp = ±(d1β + d2
β2 + · · ·+ dpβp ), p ∈ N
1 ≤ d1 ≤ β − 1, 0 ≤ di ≤ β − 1, i = 2, . . . , pemin ≤ e ≤ emax , emin, emax ∈ Z, emin ≤ 0, emax ≥ 1
onde:β é a base do sistema de numeração, β ≥ 2;e é o expoente inteiro da base, sendo emin o menor e emax omaior expoente;m é a mantissa;p é a precisão, isto é, a quantidade máxima de dígitos usadosna representação do número, edi , i = 1, . . . , p são os dígitos da mantissa.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Definição. Chama-se sistema de numeração de vírgulaflutuante a união de todos os números de vírgula flutuante como zero, que não tem representação normalizada e é escrito daseguinte forma:
0 = 0, 000 . . . 0︸ ︷︷ ︸p
×βemin .
Um sistema de numeração de vírgula flutuante de base β,precisão p, tendo emin e emax como limites do domínio devariação do expoente, denota-se por
F = F (β, p, emin, emax).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Definição. Chama-se sistema de numeração de vírgulaflutuante a união de todos os números de vírgula flutuante como zero, que não tem representação normalizada e é escrito daseguinte forma:
0 = 0, 000 . . . 0︸ ︷︷ ︸p
×βemin .
Um sistema de numeração de vírgula flutuante de base β,precisão p, tendo emin e emax como limites do domínio devariação do expoente, denota-se por
F = F (β, p, emin, emax).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Sistemas de vírgula flutuante de algumas antigascalculadoras e computadores (em precisão simples) e formatosestabelecidos na norma IEEE 754:
F (β, p, emin, emax) β p emin emax
HP 41CV 10 10 −98 99HP 48GX 10 12 −499 499
Burroughs B6700 8 13 −51 77IBM 3090 16 6 −64 63Cray T-94 2 47 −1022 1023
Cray 1 2 48 −8192 8191Cray X-MP 2 47 −16385 8190
IEEE (simples) 2 24 −126 127IEEE (duplo) 2 53 −1022 1023
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Sistemas de vírgula flutuante de algumas antigascalculadoras e computadores (em precisão simples) e formatosestabelecidos na norma IEEE 754:
F (β, p, emin, emax) β p emin emax
HP 41CV 10 10 −98 99HP 48GX 10 12 −499 499
Burroughs B6700 8 13 −51 77IBM 3090 16 6 −64 63Cray T-94 2 47 −1022 1023
Cray 1 2 48 −8192 8191Cray X-MP 2 47 −16385 8190
IEEE (simples) 2 24 −126 127IEEE (duplo) 2 53 −1022 1023
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Sistemas de vírgula flutuante de algumas antigascalculadoras e computadores (em precisão simples) e formatosestabelecidos na norma IEEE 754:
F (β, p, emin, emax) β p emin emax
HP 41CV 10 10 −98 99HP 48GX 10 12 −499 499
Burroughs B6700 8 13 −51 77IBM 3090 16 6 −64 63Cray T-94 2 47 −1022 1023
Cray 1 2 48 −8192 8191Cray X-MP 2 47 −16385 8190
IEEE (simples) 2 24 −126 127IEEE (duplo) 2 53 −1022 1023
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Sistemas de vírgula flutuante de algumas antigascalculadoras e computadores (em precisão simples) e formatosestabelecidos na norma IEEE 754:
F (β, p, emin, emax) β p emin emax
HP 41CV 10 10 −98 99HP 48GX 10 12 −499 499
Burroughs B6700 8 13 −51 77IBM 3090 16 6 −64 63Cray T-94 2 47 −1022 1023
Cray 1 2 48 −8192 8191Cray X-MP 2 47 −16385 8190
IEEE (simples) 2 24 −126 127IEEE (duplo) 2 53 −1022 1023
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Sistemas de vírgula flutuante de algumas antigascalculadoras e computadores (em precisão simples) e formatosestabelecidos na norma IEEE 754:
F (β, p, emin, emax) β p emin emax
HP 41CV 10 10 −98 99HP 48GX 10 12 −499 499
Burroughs B6700 8 13 −51 77IBM 3090 16 6 −64 63Cray T-94 2 47 −1022 1023
Cray 1 2 48 −8192 8191Cray X-MP 2 47 −16385 8190
IEEE (simples) 2 24 −126 127IEEE (duplo) 2 53 −1022 1023
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Num sistema de vírgula flutuante F (β, p, emin, emax), de base β,como o primeiro dígito deve ser diferente de zero, restam(β − 1) dígitos possíveis para a primeira posição após avírgula, podendo-se ter β dígitos nas restantes (p − 1)posições; assim, o número de mantissas positivas é dado por
(β − 1)× βp−1.
Como cada uma dessas mantissas pode ser acompanhada porum dos (emax − emin + 1) expoentes possíveis, a quantidade denúmeros de vírgula flutuante positivos é igual a
(β − 1)(βp−1)(emax − emin + 1).
Logo, incluindo os números negativos e o zero, obtém-se acardinalidade de F :
#F = 2(β − 1)(βp−1)(emax − emin + 1) + 1 .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Num sistema de vírgula flutuante F (β, p, emin, emax), de base β,como o primeiro dígito deve ser diferente de zero, restam(β − 1) dígitos possíveis para a primeira posição após avírgula, podendo-se ter β dígitos nas restantes (p − 1)posições; assim, o número de mantissas positivas é dado por
(β − 1)× βp−1.
Como cada uma dessas mantissas pode ser acompanhada porum dos (emax − emin + 1) expoentes possíveis, a quantidade denúmeros de vírgula flutuante positivos é igual a
(β − 1)(βp−1)(emax − emin + 1).
Logo, incluindo os números negativos e o zero, obtém-se acardinalidade de F :
#F = 2(β − 1)(βp−1)(emax − emin + 1) + 1 .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Num sistema de vírgula flutuante F (β, p, emin, emax), de base β,como o primeiro dígito deve ser diferente de zero, restam(β − 1) dígitos possíveis para a primeira posição após avírgula, podendo-se ter β dígitos nas restantes (p − 1)posições; assim, o número de mantissas positivas é dado por
(β − 1)× βp−1.
Como cada uma dessas mantissas pode ser acompanhada porum dos (emax − emin + 1) expoentes possíveis, a quantidade denúmeros de vírgula flutuante positivos é igual a
(β − 1)(βp−1)(emax − emin + 1).
Logo, incluindo os números negativos e o zero, obtém-se acardinalidade de F :
#F = 2(β − 1)(βp−1)(emax − emin + 1) + 1 .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
O menor número de vírgula flutuante positivo, num sistema devírgula flutuante F (β, p, emin, emax), é:
b = 0,1 00 . . . 0︸ ︷︷ ︸p−1
×βemin ,
cujo valor decimal é dado por:
b = (βemin−1)10.
O maior número de vírgula flutuante, em F (β, p, emin, emax), é:
B = 0,[β − 1][β − 1] . . . [β − 1]× βemax .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
O menor número de vírgula flutuante positivo, num sistema devírgula flutuante F (β, p, emin, emax), é:
b = 0,1 00 . . . 0︸ ︷︷ ︸p−1
×βemin ,
cujo valor decimal é dado por:
b = (βemin−1)10.
O maior número de vírgula flutuante, em F (β, p, emin, emax), é:
B = 0,[β − 1][β − 1] . . . [β − 1]× βemax .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
O menor número de vírgula flutuante positivo, num sistema devírgula flutuante F (β, p, emin, emax), é:
b = 0,1 00 . . . 0︸ ︷︷ ︸p−1
×βemin ,
cujo valor decimal é dado por:
b = (βemin−1)10.
O maior número de vírgula flutuante, em F (β, p, emin, emax), é:
B = 0,[β − 1][β − 1] . . . [β − 1]× βemax .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Toda a mantissa tem como primeiro dígito, antes da vírgula,o zero. Logo,
|m| < 1.
Por outro lado, se |m| < β−1, não teríamos um número devírgula flutuante normalizado, pois, para que isto aconteça,o primeiro dígito após a vírgula não pode ser nulo; portanto,
|m| ≥ β−1.
Assim, para qualquer mantissa m, vale:
β−1 ≤ |m| < 1.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Toda a mantissa tem como primeiro dígito, antes da vírgula,o zero. Logo,
|m| < 1.
Por outro lado, se |m| < β−1, não teríamos um número devírgula flutuante normalizado, pois, para que isto aconteça,o primeiro dígito após a vírgula não pode ser nulo; portanto,
|m| ≥ β−1.
Assim, para qualquer mantissa m, vale:
β−1 ≤ |m| < 1.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Toda a mantissa tem como primeiro dígito, antes da vírgula,o zero. Logo,
|m| < 1.
Por outro lado, se |m| < β−1, não teríamos um número devírgula flutuante normalizado, pois, para que isto aconteça,o primeiro dígito após a vírgula não pode ser nulo; portanto,
|m| ≥ β−1.
Assim, para qualquer mantissa m, vale:
β−1 ≤ |m| < 1.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Não levando em conta os diversos códigos para representaçãodos números negativos inteiros, tem-se que:
∀x ∈ F ,−x ∈ F .
Deve-se observar que, no caso da representação emcomplemento de dois, pode-se ter
x ∈ F e −x /∈ F ,
quando x for o maior inteiro positivo.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Não levando em conta os diversos códigos para representaçãodos números negativos inteiros, tem-se que:
∀x ∈ F ,−x ∈ F .
Deve-se observar que, no caso da representação emcomplemento de dois, pode-se ter
x ∈ F e −x /∈ F ,
quando x for o maior inteiro positivo.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
O conjunto F de números de vírgula flutuante é limitado, finitoe discreto.
Os números de F não se encontram uniformementedistribuídos, existindo, no entanto, diferentes zonas onde elesaparecem distribuídos de maneira uniforme.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
O conjunto F de números de vírgula flutuante é limitado, finitoe discreto.
Os números de F não se encontram uniformementedistribuídos, existindo, no entanto, diferentes zonas onde elesaparecem distribuídos de maneira uniforme.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
O conjunto F de números de vírgula flutuante é limitado, finitoe discreto.
Os números de F não se encontram uniformementedistribuídos, existindo, no entanto, diferentes zonas onde elesaparecem distribuídos de maneira uniforme.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
A quantidade constante de números de vírgula flutuantepertencentes a cada uma dessas zonas, definidas pelaspotências sucessivas da base, corresponde ao número dedistintas mantissas positivas.
Portanto, em F (β, p, emin, emax), a quantidade de números demáquina entre potências sucessivas da base é dada por:
c = (β − 1)βp−1 .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
A quantidade constante de números de vírgula flutuantepertencentes a cada uma dessas zonas, definidas pelaspotências sucessivas da base, corresponde ao número dedistintas mantissas positivas.
Portanto, em F (β, p, emin, emax), a quantidade de números demáquina entre potências sucessivas da base é dada por:
c = (β − 1)βp−1 .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Denomina-se região de underflow a região entre o menornúmero de vírgula flutuante positivo e o zero e, simetricamente,entre o maior número negativo e o zero.
Região de underflow : (−b, 0)⋃
(0, b)
As regiões situadas além do maior e aquém do menor dosnúmeros de vírgula flutuante constituem a região de overflow .
Região de overflow : (−∞,−B)⋃
(B,∞)
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Denomina-se região de underflow a região entre o menornúmero de vírgula flutuante positivo e o zero e, simetricamente,entre o maior número negativo e o zero.
Região de underflow : (−b, 0)⋃
(0, b)
As regiões situadas além do maior e aquém do menor dosnúmeros de vírgula flutuante constituem a região de overflow .
Região de overflow : (−∞,−B)⋃
(B,∞)
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Denomina-se região de underflow a região entre o menornúmero de vírgula flutuante positivo e o zero e, simetricamente,entre o maior número negativo e o zero.
Região de underflow : (−b, 0)⋃
(0, b)
As regiões situadas além do maior e aquém do menor dosnúmeros de vírgula flutuante constituem a região de overflow .
Região de overflow : (−∞,−B)⋃
(B,∞)
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Denomina-se região de underflow a região entre o menornúmero de vírgula flutuante positivo e o zero e, simetricamente,entre o maior número negativo e o zero.
Região de underflow : (−b, 0)⋃
(0, b)
As regiões situadas além do maior e aquém do menor dosnúmeros de vírgula flutuante constituem a região de overflow .
Região de overflow : (−∞,−B)⋃
(B,∞)
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Uma representação simplificada de um sistema de vírgulaflutuante F na recta real, destacando as regiões de underflowe de overflow , é apresentada a seguir.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Uma representação simplificada de um sistema de vírgulaflutuante F na recta real, destacando as regiões de underflowe de overflow , é apresentada a seguir.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Como a base do sistema de numeração de vírgula flutuante é 2e a precisão 3, as mantissas possíveis são 0,100, 0,101, 0,110e 0,111.
Os expoentes da base são −1, 0, 1 e 2.
A cardinalidade de F é 33.
O maior número pertencente a F é (0,111× 22)2.
O menor número de vírgula flutuante positivo é(0,100× 2−1)2 = (0,25)10.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Como a base do sistema de numeração de vírgula flutuante é 2e a precisão 3, as mantissas possíveis são 0,100, 0,101, 0,110e 0,111.
Os expoentes da base são −1, 0, 1 e 2.
A cardinalidade de F é 33.
O maior número pertencente a F é (0,111× 22)2.
O menor número de vírgula flutuante positivo é(0,100× 2−1)2 = (0,25)10.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Como a base do sistema de numeração de vírgula flutuante é 2e a precisão 3, as mantissas possíveis são 0,100, 0,101, 0,110e 0,111.
Os expoentes da base são −1, 0, 1 e 2.
A cardinalidade de F é 33.
O maior número pertencente a F é (0,111× 22)2.
O menor número de vírgula flutuante positivo é(0,100× 2−1)2 = (0,25)10.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Como a base do sistema de numeração de vírgula flutuante é 2e a precisão 3, as mantissas possíveis são 0,100, 0,101, 0,110e 0,111.
Os expoentes da base são −1, 0, 1 e 2.
A cardinalidade de F é 33.
O maior número pertencente a F é (0,111× 22)2.
O menor número de vírgula flutuante positivo é(0,100× 2−1)2 = (0,25)10.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Como a base do sistema de numeração de vírgula flutuante é 2e a precisão 3, as mantissas possíveis são 0,100, 0,101, 0,110e 0,111.
Os expoentes da base são −1, 0, 1 e 2.
A cardinalidade de F é 33.
O maior número pertencente a F é (0,111× 22)2.
O menor número de vírgula flutuante positivo é(0,100× 2−1)2 = (0,25)10.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Como a base do sistema de numeração de vírgula flutuante é 2e a precisão 3, as mantissas possíveis são 0,100, 0,101, 0,110e 0,111.
Os expoentes da base são −1, 0, 1 e 2.
A cardinalidade de F é 33.
O maior número pertencente a F é (0,111× 22)2.
O menor número de vírgula flutuante positivo é(0,100× 2−1)2 = (0,25)10.
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Os valores decimais correspondentes aos números de vírgulaflutuante positivos aparecem no corpo do quadro a seguir.
e m0,100 0,101 0,110 0,111
− 1 1/4 5/16 3/8 7/160 1/2 5/8 3/4 7/81 1 5/4 3/2 7/42 2 5/2 3 7/2
(0,100×2−1)2 = (0,01)2 = 0·20+0·2−1+1·2−2 = 14 = (0,25)10
...(0,111× 22)2 = (11,1)2 = 1 · 21 + 1 · 20 + 1 · 2−1 = 7
2 = (3,5)10
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Os valores decimais correspondentes aos números de vírgulaflutuante positivos aparecem no corpo do quadro a seguir.
e m0,100 0,101 0,110 0,111
− 1 1/4 5/16 3/8 7/160 1/2 5/8 3/4 7/81 1 5/4 3/2 7/42 2 5/2 3 7/2
(0,100×2−1)2 = (0,01)2 = 0·20+0·2−1+1·2−2 = 14 = (0,25)10
...(0,111× 22)2 = (11,1)2 = 1 · 21 + 1 · 20 + 1 · 2−1 = 7
2 = (3,5)10
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Os valores decimais correspondentes aos números de vírgulaflutuante positivos aparecem no corpo do quadro a seguir.
e m0,100 0,101 0,110 0,111
− 1 1/4 5/16 3/8 7/160 1/2 5/8 3/4 7/81 1 5/4 3/2 7/42 2 5/2 3 7/2
(0,100×2−1)2 = (0,01)2 = 0·20+0·2−1+1·2−2 = 14 = (0,25)10
...(0,111× 22)2 = (11,1)2 = 1 · 21 + 1 · 20 + 1 · 2−1 = 7
2 = (3,5)10
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Os valores decimais correspondentes aos números de vírgulaflutuante positivos aparecem no corpo do quadro a seguir.
e m0,100 0,101 0,110 0,111
− 1 1/4 5/16 3/8 7/160 1/2 5/8 3/4 7/81 1 5/4 3/2 7/42 2 5/2 3 7/2
(0,100×2−1)2 = (0,01)2 = 0·20+0·2−1+1·2−2 = 14 = (0,25)10
...(0,111× 22)2 = (11,1)2 = 1 · 21 + 1 · 20 + 1 · 2−1 = 7
2 = (3,5)10
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Os valores decimais correspondentes aos números de vírgulaflutuante positivos aparecem no corpo do quadro a seguir.
e m0,100 0,101 0,110 0,111
− 1 1/4 5/16 3/8 7/160 1/2 5/8 3/4 7/81 1 5/4 3/2 7/42 2 5/2 3 7/2
(0,100×2−1)2 = (0,01)2 = 0·20+0·2−1+1·2−2 = 14 = (0,25)10
...(0,111× 22)2 = (11,1)2 = 1 · 21 + 1 · 20 + 1 · 2−1 = 7
2 = (3,5)10
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Os valores decimais correspondentes aos números de vírgulaflutuante positivos aparecem no corpo do quadro a seguir.
e m0,100 0,101 0,110 0,111
− 1 1/4 5/16 3/8 7/160 1/2 5/8 3/4 7/81 1 5/4 3/2 7/42 2 5/2 3 7/2
(0,100×2−1)2 = (0,01)2 = 0·20+0·2−1+1·2−2 = 14 = (0,25)10
...(0,111× 22)2 = (11,1)2 = 1 · 21 + 1 · 20 + 1 · 2−1 = 7
2 = (3,5)10
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Os valores decimais correspondentes aos números de vírgulaflutuante positivos aparecem no corpo do quadro a seguir.
e m0,100 0,101 0,110 0,111
− 1 1/4 5/16 3/8 7/160 1/2 5/8 3/4 7/81 1 5/4 3/2 7/42 2 5/2 3 7/2
(0,100×2−1)2 = (0,01)2 = 0·20+0·2−1+1·2−2 = 14 = (0,25)10
...(0,111× 22)2 = (11,1)2 = 1 · 21 + 1 · 20 + 1 · 2−1 = 7
2 = (3,5)10
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Os valores decimais correspondentes aos números de vírgulaflutuante positivos aparecem no corpo do quadro a seguir.
e m0,100 0,101 0,110 0,111
− 1 1/4 5/16 3/8 7/160 1/2 5/8 3/4 7/81 1 5/4 3/2 7/42 2 5/2 3 7/2
(0,100×2−1)2 = (0,01)2 = 0·20+0·2−1+1·2−2 = 14 = (0,25)10
...(0,111× 22)2 = (11,1)2 = 1 · 21 + 1 · 20 + 1 · 2−1 = 7
2 = (3,5)10
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
A região de underflow na base 2 é
(−0,100× 2−1, 0,000× 2−1)⋃
(0,000× 2−1, 0,100× 2−1),
que, na base 10, corresponde a (−14 , 0)
⋃(0, 1
4).
Na base 2, a região de overflow é
(−∞,−0,111× 22)⋃
(0,111× 22,∞),
que corresponde, na base 10, a (−∞,−72)
⋃(7
2 ,∞).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
A região de underflow na base 2 é
(−0,100× 2−1, 0,000× 2−1)⋃
(0,000× 2−1, 0,100× 2−1),
que, na base 10, corresponde a (−14 , 0)
⋃(0, 1
4).
Na base 2, a região de overflow é
(−∞,−0,111× 22)⋃
(0,111× 22,∞),
que corresponde, na base 10, a (−∞,−72)
⋃(7
2 ,∞).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
A região de underflow na base 2 é
(−0,100× 2−1, 0,000× 2−1)⋃
(0,000× 2−1, 0,100× 2−1),
que, na base 10, corresponde a (−14 , 0)
⋃(0, 1
4).
Na base 2, a região de overflow é
(−∞,−0,111× 22)⋃
(0,111× 22,∞),
que corresponde, na base 10, a (−∞,−72)
⋃(7
2 ,∞).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
A região de underflow na base 2 é
(−0,100× 2−1, 0,000× 2−1)⋃
(0,000× 2−1, 0,100× 2−1),
que, na base 10, corresponde a (−14 , 0)
⋃(0, 1
4).
Na base 2, a região de overflow é
(−∞,−0,111× 22)⋃
(0,111× 22,∞),
que corresponde, na base 10, a (−∞,−72)
⋃(7
2 ,∞).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
As leis que valem para a aritmética em R não são válidas numsistema de vírgula flutuante F .
Assim, sendo x ~ y , ~ ∈ {+,−, ·, /}, uma operação aritméticaem F , verifica-se que:
x ⊕ y 6= x + yx y 6= x − yx � y 6= x · yx � y 6= x/y
Como consequência, algumas das propriedades básicas de R,como a associatividade e a distributividade, em geral não severificam em F .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
As leis que valem para a aritmética em R não são válidas numsistema de vírgula flutuante F .
Assim, sendo x ~ y , ~ ∈ {+,−, ·, /}, uma operação aritméticaem F , verifica-se que:
x ⊕ y 6= x + yx y 6= x − yx � y 6= x · yx � y 6= x/y
Como consequência, algumas das propriedades básicas de R,como a associatividade e a distributividade, em geral não severificam em F .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
As leis que valem para a aritmética em R não são válidas numsistema de vírgula flutuante F .
Assim, sendo x ~ y , ~ ∈ {+,−, ·, /}, uma operação aritméticaem F , verifica-se que:
x ⊕ y 6= x + yx y 6= x − yx � y 6= x · yx � y 6= x/y
Como consequência, algumas das propriedades básicas de R,como a associatividade e a distributividade, em geral não severificam em F .
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Se x = 58 , y = 3
8 e z = 34 , então:
(x ⊕ y)⊕ z =((0,101 · 20)⊕ (0,110 · 2−1)
)⊕ (0,110 · 20) =
(0,101⊕ 0,011)⊕ 0,110 = (1,11)2
x ⊕ (y ⊕ z) = 0,101⊕ (0,011⊕ 0,110) = 0,101⊕ 1,001/= 0,101⊕ 1,00 = 1,101/ = (1,10)2
Logo, (x ⊕ y)⊕ z 6= x ⊕ (y ⊕ z).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Se x = 58 , y = 3
8 e z = 34 , então:
(x ⊕ y)⊕ z =((0,101 · 20)⊕ (0,110 · 2−1)
)⊕ (0,110 · 20) =
(0,101⊕ 0,011)⊕ 0,110 = (1,11)2
x ⊕ (y ⊕ z) = 0,101⊕ (0,011⊕ 0,110) = 0,101⊕ 1,001/= 0,101⊕ 1,00 = 1,101/ = (1,10)2
Logo, (x ⊕ y)⊕ z 6= x ⊕ (y ⊕ z).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Se x = 58 , y = 3
8 e z = 34 , então:
(x ⊕ y)⊕ z =((0,101 · 20)⊕ (0,110 · 2−1)
)⊕ (0,110 · 20) =
(0,101⊕ 0,011)⊕ 0,110 = (1,11)2
x ⊕ (y ⊕ z) = 0,101⊕ (0,011⊕ 0,110) = 0,101⊕ 1,001/= 0,101⊕ 1,00 = 1,101/ = (1,10)2
Logo, (x ⊕ y)⊕ z 6= x ⊕ (y ⊕ z).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Se x = 58 , y = 3
8 e z = 34 , então:
(x ⊕ y)⊕ z =((0,101 · 20)⊕ (0,110 · 2−1)
)⊕ (0,110 · 20) =
(0,101⊕ 0,011)⊕ 0,110 = (1,11)2
x ⊕ (y ⊕ z) = 0,101⊕ (0,011⊕ 0,110) = 0,101⊕ 1,001/= 0,101⊕ 1,00 = 1,101/ = (1,10)2
Logo, (x ⊕ y)⊕ z 6= x ⊕ (y ⊕ z).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Exemplo. Seja F = F (2, 3,−1, 2).
Se x = 58 , y = 3
8 e z = 34 , então:
(x ⊕ y)⊕ z =((0,101 · 20)⊕ (0,110 · 2−1)
)⊕ (0,110 · 20) =
(0,101⊕ 0,011)⊕ 0,110 = (1,11)2
x ⊕ (y ⊕ z) = 0,101⊕ (0,011⊕ 0,110) = 0,101⊕ 1,001/= 0,101⊕ 1,00 = 1,101/ = (1,10)2
Logo, (x ⊕ y)⊕ z 6= x ⊕ (y ⊕ z).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Se x = 78 , y = 5
4 e z = 38 , tem-se:
x � (y ⊕ z) = (0,111 · 20)�((0,101 · 21)⊕ (0,110 · 2−1)
)=
0,111� (1,01⊕ 0,011) = 0,111� 1,101/= 0,111� 1,10 = 1,010/1/ = (1,01)2
(x � y)⊕ (x � z) = (0,111� 1,01)⊕ (0,111� 0,011) = 1,000/1/1/⊕ 0,01010/1/ = 1,00⊕ 0,0101 = 1,010/1/ = (1,10)2
Logo, x � (y ⊕ z) 6= (x � y)⊕ (x � z).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Se x = 78 , y = 5
4 e z = 38 , tem-se:
x � (y ⊕ z) = (0,111 · 20)�((0,101 · 21)⊕ (0,110 · 2−1)
)=
0,111� (1,01⊕ 0,011) = 0,111� 1,101/= 0,111� 1,10 = 1,010/1/ = (1,01)2
(x � y)⊕ (x � z) = (0,111� 1,01)⊕ (0,111� 0,011) = 1,000/1/1/⊕ 0,01010/1/ = 1,00⊕ 0,0101 = 1,010/1/ = (1,10)2
Logo, x � (y ⊕ z) 6= (x � y)⊕ (x � z).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Se x = 78 , y = 5
4 e z = 38 , tem-se:
x � (y ⊕ z) = (0,111 · 20)�((0,101 · 21)⊕ (0,110 · 2−1)
)=
0,111� (1,01⊕ 0,011) = 0,111� 1,101/= 0,111� 1,10 = 1,010/1/ = (1,01)2
(x � y)⊕ (x � z) = (0,111� 1,01)⊕ (0,111� 0,011) = 1,000/1/1/⊕ 0,01010/1/ = 1,00⊕ 0,0101 = 1,010/1/ = (1,10)2
Logo, x � (y ⊕ z) 6= (x � y)⊕ (x � z).
Análise e Computação Numérica Sistemas de Vírgula Flutuante
Sistemas de numeração de vírgula flutuante
Se x = 78 , y = 5
4 e z = 38 , tem-se:
x � (y ⊕ z) = (0,111 · 20)�((0,101 · 21)⊕ (0,110 · 2−1)
)=
0,111� (1,01⊕ 0,011) = 0,111� 1,101/= 0,111� 1,10 = 1,010/1/ = (1,01)2
(x � y)⊕ (x � z) = (0,111� 1,01)⊕ (0,111� 0,011) = 1,000/1/1/⊕ 0,01010/1/ = 1,00⊕ 0,0101 = 1,010/1/ = (1,10)2
Logo, x � (y ⊕ z) 6= (x � y)⊕ (x � z).
Análise e Computação Numérica Sistemas de Vírgula Flutuante