Sistemas de Vírgula Flutuante - cee.uma.ptcee.uma.pt/edu/acn/docs/slides_svf.pdf · Sistemas de...

62
Sistemas de numeração de vírgula flutuante Sistemas de Vírgula Flutuante Luiz C. G. Lopes Departamento de Matemática e Engenharias Universidade da Madeira Análise e Computação Numérica MAT 2 05 – 2007/08 Análise e Computação Numérica Sistemas de Vírgula Flutuante

Transcript of Sistemas de Vírgula Flutuante - cee.uma.ptcee.uma.pt/edu/acn/docs/slides_svf.pdf · Sistemas de...

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