noc¸oes b˜ asicas de´ ponto flutuante...prof. afonso paiva (icmc-usp) noc¸˜oes b ´asicas de...

65
Noc ¸˜ oes B ´ asicas de Ponto Flutuante Prof. Afonso Paiva Departamento de Matem ´ atica Aplicada e Estat´ ıstica Instituto de Ciˆ encias Matem ´ aticas e de Computac ¸˜ ao USP – S ˜ ao Carlos etodos Num´ ericos e Computacionais I – SME0305

Upload: others

Post on 30-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Nocoes Basicas dePonto Flutuante

Prof. Afonso Paiva

Departamento de Matematica Aplicada e EstatısticaInstituto de Ciencias Matematicas e de Computacao

USP – Sao Carlos

Metodos Numericos e Computacionais I – SME0305

Page 2: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Motivacao

Motivacao

Como representar os numeros reais no computador?

Definicao (ponto flutuante)O conjunto F = { representacao de x ∈ R no computador }.Cada numero x ∈ F e chamado de ponto flutuante.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 2 / 1

Page 3: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Motivacao

Motivacao

Como representar os numeros reais no computador?

Definicao (ponto flutuante)O conjunto F = { representacao de x ∈ R no computador }.Cada numero x ∈ F e chamado de ponto flutuante.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 2 / 1

Page 4: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Motivacao

Motivacao

Como representar os numeros reais no computador?

Definicao (ponto flutuante)O conjunto F = { representacao de x ∈ R no computador }.Cada numero x ∈ F e chamado de ponto flutuante.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 2 / 1

Page 5: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Base numerica

Conversao entre numeros binarios e decimais

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 3 / 1

Page 6: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Base numerica

Conversao entre numeros binarios e decimais

Definicao (base numerica)Dado N ∈ Z, ele pode ser escrito em uma base β como

N = (dk dk−1 . . . d1 d0)β = dk× βk + dk−1× βk−1 + · · ·+ d1× β1 + d0× β0 ,

onde 0 6 di 6 (β− 1), para i = 0, . . . , k.

Exemplo (conversao binario⇒ decimal)

(10011)2 =

1× 24 + 1× 21 + 1× 20 = 19 = 1× 101 + 9× 100 = (19)10

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 4 / 1

Page 7: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Base numerica

Conversao entre numeros binarios e decimais

Definicao (base numerica)Dado N ∈ Z, ele pode ser escrito em uma base β como

N = (dk dk−1 . . . d1 d0)β = dk× βk + dk−1× βk−1 + · · ·+ d1× β1 + d0× β0 ,

onde 0 6 di 6 (β− 1), para i = 0, . . . , k.

Exemplo (conversao binario⇒ decimal)

(10011)2 =

1× 24 + 1× 21 + 1× 20 = 19 = 1× 101 + 9× 100 = (19)10

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 4 / 1

Page 8: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Base numerica

Conversao entre numeros binarios e decimais

Definicao (base numerica)Dado N ∈ Z, ele pode ser escrito em uma base β como

N = (dk dk−1 . . . d1 d0)β = dk× βk + dk−1× βk−1 + · · ·+ d1× β1 + d0× β0 ,

onde 0 6 di 6 (β− 1), para i = 0, . . . , k.

Exemplo (conversao binario⇒ decimal)

(10011)2 = 1× 24 + 1× 21 + 1× 20 = 19 = 1× 101 + 9× 100 = (19)10

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 4 / 1

Page 9: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal⇒ binario

Seja N ∈ Z, escrito na base β = 10. Desejamos representar N como:

N = (dk dk−1 . . . d1 d0)2 = dk × 2k + dk−1 × 2k−1 + · · ·+ d1 × 21 + d0 × 20

Logo

N = 2×(

dk × 2k−1 + dk−1 × 2k−2 + · · ·+ d2 × 21 + d1

)+ d0

= 2×(

2×(

dk × 2k−2 + dk−1 × 2k−3 + · · ·+ d2

)+ d1

)+ d0

Assim por diante ate o quociente for igual a zero.

Exemplo: Escreva 29 na base β = 2 (no quadro).

Solucao: 29 = (11101)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 5 / 1

Page 10: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal⇒ binario

Seja N ∈ Z, escrito na base β = 10. Desejamos representar N como:

N = (dk dk−1 . . . d1 d0)2 = dk × 2k + dk−1 × 2k−1 + · · ·+ d1 × 21 + d0 × 20

Logo

N = 2×(

dk × 2k−1 + dk−1 × 2k−2 + · · ·+ d2 × 21 + d1

)+ d0

= 2×(

2×(

dk × 2k−2 + dk−1 × 2k−3 + · · ·+ d2

)+ d1

)+ d0

Assim por diante ate o quociente for igual a zero.

Exemplo: Escreva 29 na base β = 2 (no quadro).

Solucao: 29 = (11101)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 5 / 1

Page 11: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal⇒ binario

Seja N ∈ Z, escrito na base β = 10. Desejamos representar N como:

N = (dk dk−1 . . . d1 d0)2 = dk × 2k + dk−1 × 2k−1 + · · ·+ d1 × 21 + d0 × 20

Logo

N = 2×(

dk × 2k−1 + dk−1 × 2k−2 + · · ·+ d2 × 21 + d1

)+ d0

= 2×(

2×(

dk × 2k−2 + dk−1 × 2k−3 + · · ·+ d2

)+ d1

)+ d0

Assim por diante ate o quociente for igual a zero.

Exemplo: Escreva 29 na base β = 2 (no quadro).

Solucao: 29 = (11101)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 5 / 1

Page 12: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal⇒ binario

Seja N ∈ Z, escrito na base β = 10. Desejamos representar N como:

N = (dk dk−1 . . . d1 d0)2 = dk × 2k + dk−1 × 2k−1 + · · ·+ d1 × 21 + d0 × 20

Logo

N = 2×(

dk × 2k−1 + dk−1 × 2k−2 + · · ·+ d2 × 21 + d1

)+ d0

= 2×(

2×(

dk × 2k−2 + dk−1 × 2k−3 + · · ·+ d2

)+ d1

)+ d0

Assim por diante ate o quociente for igual a zero.

Exemplo: Escreva 29 na base β = 2 (no quadro).

Solucao: 29 = (11101)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 5 / 1

Page 13: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal⇒ binario

Seja N ∈ Z, escrito na base β = 10. Desejamos representar N como:

N = (dk dk−1 . . . d1 d0)2 = dk × 2k + dk−1 × 2k−1 + · · ·+ d1 × 21 + d0 × 20

Logo

N = 2×(

dk × 2k−1 + dk−1 × 2k−2 + · · ·+ d2 × 21 + d1

)+ d0

= 2×(

2×(

dk × 2k−2 + dk−1 × 2k−3 + · · ·+ d2

)+ d1

)+ d0

Assim por diante ate o quociente for igual a zero.

Exemplo: Escreva 29 na base β = 2 (no quadro).

Solucao: 29 = (11101)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 5 / 1

Page 14: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal⇒ binario

Seja N ∈ Z, escrito na base β = 10. Desejamos representar N como:

N = (dk dk−1 . . . d1 d0)2 = dk × 2k + dk−1 × 2k−1 + · · ·+ d1 × 21 + d0 × 20

Logo

N = 2×(

dk × 2k−1 + dk−1 × 2k−2 + · · ·+ d2 × 21 + d1

)+ d0

= 2×(

2×(

dk × 2k−2 + dk−1 × 2k−3 + · · ·+ d2

)+ d1

)+ d0

Assim por diante ate o quociente for igual a zero.

Exemplo: Escreva 29 na base β = 2 (no quadro).

Solucao: 29 = (11101)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 5 / 1

Page 15: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Algoritmo para conversao decimal para binariade numeros inteiros

Entrada: N ∈ Z

Saıda: N = (dk dk−1 . . . d1 d0)2

k = 0;Calcule R e Q tal que N = 2Q + R ;dk = R ;

Enquanto Q 6= 0 facak = k + 1 ;N = Q ;Calcule R e Q tal que N = 2Q + R ;dk = R ;

Fim do Enquanto

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 6 / 1

Page 16: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Algoritmo para conversao decimal para binariade numeros inteiros

Entrada: N ∈ Z

Saıda: N = (dk dk−1 . . . d1 d0)2

k = 0;Calcule R e Q tal que N = 2Q + R ;dk = R ;

Enquanto Q 6= 0 facak = k + 1 ;N = Q ;Calcule R e Q tal que N = 2Q + R ;dk = R ;

Fim do Enquanto

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 6 / 1

Page 17: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Algoritmo para conversao decimal para binariade numeros inteiros

Entrada: N ∈ Z

Saıda: N = (dk dk−1 . . . d1 d0)2

k = 0;Calcule R e Q tal que N = 2Q + R ;dk = R ;

Enquanto Q 6= 0 facak = k + 1 ;N = Q ;Calcule R e Q tal que N = 2Q + R ;dk = R ;

Fim do Enquanto

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 6 / 1

Page 18: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal para binariade numeros fracionarios

Vamos supor que N e um numero fracionario no intervalo (0, 1). Assim,

N = (0. d1 d2 . . . dk)2 = d1 × 2−1 + d2 × 2−2 + · · ·+ dk × 2−k

Multiplicando por 2 a equacao acima, temos:

2×N = d1 + d2 × 2−1 + · · ·+ dk × 2−k+1︸ ︷︷ ︸N1

Portanto, d1 e parte inteira de (2×N) e a parte fracionaria e N1.Multiplicando N1 por 2 em ambos os lados, temos:

2×N1 = d2 + d3 × 2−1 + · · ·+ dk × 2−k+2

Portanto, d2 e parte inteira de (2×N1).Assim por diante ate a parte fracionaria for zero.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 7 / 1

Page 19: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal para binariade numeros fracionarios

Vamos supor que N e um numero fracionario no intervalo (0, 1). Assim,

N = (0. d1 d2 . . . dk)2 = d1 × 2−1 + d2 × 2−2 + · · ·+ dk × 2−k

Multiplicando por 2 a equacao acima, temos:

2×N = d1 + d2 × 2−1 + · · ·+ dk × 2−k+1︸ ︷︷ ︸N1

Portanto, d1 e parte inteira de (2×N) e a parte fracionaria e N1.Multiplicando N1 por 2 em ambos os lados, temos:

2×N1 = d2 + d3 × 2−1 + · · ·+ dk × 2−k+2

Portanto, d2 e parte inteira de (2×N1).Assim por diante ate a parte fracionaria for zero.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 7 / 1

Page 20: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal para binariade numeros fracionarios

Vamos supor que N e um numero fracionario no intervalo (0, 1). Assim,

N = (0. d1 d2 . . . dk)2 = d1 × 2−1 + d2 × 2−2 + · · ·+ dk × 2−k

Multiplicando por 2 a equacao acima, temos:

2×N = d1 + d2 × 2−1 + · · ·+ dk × 2−k+1︸ ︷︷ ︸N1

Portanto, d1 e parte inteira de (2×N) e a parte fracionaria e N1.

Multiplicando N1 por 2 em ambos os lados, temos:

2×N1 = d2 + d3 × 2−1 + · · ·+ dk × 2−k+2

Portanto, d2 e parte inteira de (2×N1).Assim por diante ate a parte fracionaria for zero.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 7 / 1

Page 21: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal para binariade numeros fracionarios

Vamos supor que N e um numero fracionario no intervalo (0, 1). Assim,

N = (0. d1 d2 . . . dk)2 = d1 × 2−1 + d2 × 2−2 + · · ·+ dk × 2−k

Multiplicando por 2 a equacao acima, temos:

2×N = d1 + d2 × 2−1 + · · ·+ dk × 2−k+1︸ ︷︷ ︸N1

Portanto, d1 e parte inteira de (2×N) e a parte fracionaria e N1.Multiplicando N1 por 2 em ambos os lados, temos:

2×N1 = d2 + d3 × 2−1 + · · ·+ dk × 2−k+2

Portanto, d2 e parte inteira de (2×N1).Assim por diante ate a parte fracionaria for zero.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 7 / 1

Page 22: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal para binariade numeros fracionarios

Exemplo: Represente 0.125 na base β = 2 (no quadro).

Solucao: 0.125 = (0.001)2.

Exemplo: Represente 3.8 na base β = 2 (no quadro).

Solucao: 3.8 = (11.110011001100 . . .)2 = (11.1100)2.Obs.: Note que a representacao binaria de um numero decimalfracionario pode ser infinita.

ExercıcioFaca um algoritmo para representar um numero decimal fracionarioem um numero binario, e vice-versa.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 8 / 1

Page 23: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal para binariade numeros fracionarios

Exemplo: Represente 0.125 na base β = 2 (no quadro).

Solucao: 0.125 = (0.001)2.

Exemplo: Represente 3.8 na base β = 2 (no quadro).

Solucao: 3.8 = (11.110011001100 . . .)2 = (11.1100)2.Obs.: Note que a representacao binaria de um numero decimalfracionario pode ser infinita.

ExercıcioFaca um algoritmo para representar um numero decimal fracionarioem um numero binario, e vice-versa.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 8 / 1

Page 24: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal para binariade numeros fracionarios

Exemplo: Represente 0.125 na base β = 2 (no quadro).

Solucao: 0.125 = (0.001)2.

Exemplo: Represente 3.8 na base β = 2 (no quadro).

Solucao: 3.8 = (11.110011001100 . . .)2 = (11.1100)2.Obs.: Note que a representacao binaria de um numero decimalfracionario pode ser infinita.

ExercıcioFaca um algoritmo para representar um numero decimal fracionarioem um numero binario, e vice-versa.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 8 / 1

Page 25: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal para binariade numeros fracionarios

Exemplo: Represente 0.125 na base β = 2 (no quadro).

Solucao: 0.125 = (0.001)2.

Exemplo: Represente 3.8 na base β = 2 (no quadro).

Solucao: 3.8 = (11.110011001100 . . .)2 = (11.1100)2.Obs.: Note que a representacao binaria de um numero decimalfracionario pode ser infinita.

ExercıcioFaca um algoritmo para representar um numero decimal fracionarioem um numero binario, e vice-versa.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 8 / 1

Page 26: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Conversao entre numeros binarios e decimais Conversao decimal⇒ binario

Conversao decimal para binariade numeros fracionarios

Exemplo: Represente 0.125 na base β = 2 (no quadro).

Solucao: 0.125 = (0.001)2.

Exemplo: Represente 3.8 na base β = 2 (no quadro).

Solucao: 3.8 = (11.110011001100 . . .)2 = (11.1100)2.Obs.: Note que a representacao binaria de um numero decimalfracionario pode ser infinita.

ExercıcioFaca um algoritmo para representar um numero decimal fracionarioem um numero binario, e vice-versa.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 8 / 1

Page 27: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M)

Sistema F(β, t, m, M)

Seja x ∈ R, podemos representar x em F numa base β da seguinteforma:

x = ± (0. d1 d2 . . . dt)β︸ ︷︷ ︸mantissa

×βe ,

com 1 6 d1 6 β− 1 e 0 6 di 6 β− 1, para i = 2, . . . , t.

O numero inteiro t representa a quantidade de dıgitos(significativos) na mantissa;O valor e e o expoente, numero inteiro no intervalo [m, M].

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 9 / 1

Page 28: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M)

Sistema F(β, t, m, M)

Seja x ∈ R, podemos representar x em F numa base β da seguinteforma:

x = ± (0. d1 d2 . . . dt)β︸ ︷︷ ︸mantissa

×βe ,

com 1 6 d1 6 β− 1 e 0 6 di 6 β− 1, para i = 2, . . . , t.

O numero inteiro t representa a quantidade de dıgitos(significativos) na mantissa;

O valor e e o expoente, numero inteiro no intervalo [m, M].

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 9 / 1

Page 29: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M)

Sistema F(β, t, m, M)

Seja x ∈ R, podemos representar x em F numa base β da seguinteforma:

x = ± (0. d1 d2 . . . dt)β︸ ︷︷ ︸mantissa

×βe ,

com 1 6 d1 6 β− 1 e 0 6 di 6 β− 1, para i = 2, . . . , t.

O numero inteiro t representa a quantidade de dıgitos(significativos) na mantissa;O valor e e o expoente, numero inteiro no intervalo [m, M].

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 9 / 1

Page 30: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M)

Sistema F(β, t, m, M)

Exemplo: Qual e a quantidade de numeros nao nulos quepodemos representar no sistema F(2, 3,−2, 1)? (no quadro)

Solucao: 2× 1× 2× 2× 4 = 32 numeros.

Exemplo: Seja F(10, 3,−5, 5). Quais sao o menor e maiornumeros em valor absoluto que podemos representar nessesistema? (no quadro).

Solucao: O menor numero l = 10−6 e o maior u = 99900.

Dessa forma os numeros x ∈ F estaria limitados a:

l 6 |x| 6 u

se |x| < l: erro de underflowse |x| > u: erro de overflow

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 10 / 1

Page 31: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M)

Sistema F(β, t, m, M)

Exemplo: Qual e a quantidade de numeros nao nulos quepodemos representar no sistema F(2, 3,−2, 1)? (no quadro)Solucao: 2× 1× 2× 2× 4 = 32 numeros.

Exemplo: Seja F(10, 3,−5, 5). Quais sao o menor e maiornumeros em valor absoluto que podemos representar nessesistema? (no quadro).

Solucao: O menor numero l = 10−6 e o maior u = 99900.

Dessa forma os numeros x ∈ F estaria limitados a:

l 6 |x| 6 u

se |x| < l: erro de underflowse |x| > u: erro de overflow

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 10 / 1

Page 32: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M)

Sistema F(β, t, m, M)

Exemplo: Qual e a quantidade de numeros nao nulos quepodemos representar no sistema F(2, 3,−2, 1)? (no quadro)Solucao: 2× 1× 2× 2× 4 = 32 numeros.

Exemplo: Seja F(10, 3,−5, 5). Quais sao o menor e maiornumeros em valor absoluto que podemos representar nessesistema? (no quadro).

Solucao: O menor numero l = 10−6 e o maior u = 99900.

Dessa forma os numeros x ∈ F estaria limitados a:

l 6 |x| 6 u

se |x| < l: erro de underflowse |x| > u: erro de overflow

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 10 / 1

Page 33: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M)

Sistema F(β, t, m, M)

Exemplo: Qual e a quantidade de numeros nao nulos quepodemos representar no sistema F(2, 3,−2, 1)? (no quadro)Solucao: 2× 1× 2× 2× 4 = 32 numeros.

Exemplo: Seja F(10, 3,−5, 5). Quais sao o menor e maiornumeros em valor absoluto que podemos representar nessesistema? (no quadro).

Solucao: O menor numero l = 10−6 e o maior u = 99900.

Dessa forma os numeros x ∈ F estaria limitados a:

l 6 |x| 6 u

se |x| < l: erro de underflowse |x| > u: erro de overflow

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 10 / 1

Page 34: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M)

Sistema F(β, t, m, M)

Exemplo: Qual e a quantidade de numeros nao nulos quepodemos representar no sistema F(2, 3,−2, 1)? (no quadro)Solucao: 2× 1× 2× 2× 4 = 32 numeros.

Exemplo: Seja F(10, 3,−5, 5). Quais sao o menor e maiornumeros em valor absoluto que podemos representar nessesistema? (no quadro).

Solucao: O menor numero l = 10−6 e o maior u = 99900.

Dessa forma os numeros x ∈ F estaria limitados a:

l 6 |x| 6 u

se |x| < l: erro de underflowse |x| > u: erro de overflow

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 10 / 1

Page 35: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M)

Sistema F(β, t, m, M)

Exemplo: Qual e a quantidade de numeros nao nulos quepodemos representar no sistema F(2, 3,−2, 1)? (no quadro)Solucao: 2× 1× 2× 2× 4 = 32 numeros.

Exemplo: Seja F(10, 3,−5, 5). Quais sao o menor e maiornumeros em valor absoluto que podemos representar nessesistema? (no quadro).

Solucao: O menor numero l = 10−6 e o maior u = 99900.

Dessa forma os numeros x ∈ F estaria limitados a:

l 6 |x| 6 u

se |x| < l: erro de underflow

se |x| > u: erro de overflow

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 10 / 1

Page 36: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M)

Sistema F(β, t, m, M)

Exemplo: Qual e a quantidade de numeros nao nulos quepodemos representar no sistema F(2, 3,−2, 1)? (no quadro)Solucao: 2× 1× 2× 2× 4 = 32 numeros.

Exemplo: Seja F(10, 3,−5, 5). Quais sao o menor e maiornumeros em valor absoluto que podemos representar nessesistema? (no quadro).

Solucao: O menor numero l = 10−6 e o maior u = 99900.

Dessa forma os numeros x ∈ F estaria limitados a:

l 6 |x| 6 u

se |x| < l: erro de underflowse |x| > u: erro de overflow

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 10 / 1

Page 37: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

armazenamento representacaotipo sinal expoente mantisa bits β t m M bhalf 1 5 10 16 2 11 -14 15 15

single 1 8 23 32 2 24 -126 127 127double 1 11 52 64 2 53 -1022 1023 1023

A representacao normalizada de um numero em ponto flutante nessepadrao e feita da seguinte forma:

x = (−1)s × (1. d1 . . . dt)2 × 2e−b

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 11 / 1

Page 38: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

armazenamento representacaotipo sinal expoente mantisa bits β t m M bhalf 1 5 10 16 2 11 -14 15 15

single 1 8 23 32 2 24 -126 127 127double 1 11 52 64 2 53 -1022 1023 1023

A representacao normalizada de um numero em ponto flutante nessepadrao e feita da seguinte forma:

x = (−1)s × (1. d1 . . . dt)2 × 2e−b

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 11 / 1

Page 39: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Vamos analisar o padrao half (16 bits)

1 2 3 4 5 6 7 8 9 10

sinal expoente (e) mantissa (m)

Valores especiais:

0 = 0 00000 0000000000inf = 0 11111 0000000000-inf = 1 11111 0000000000

Dessa forma, os valores disponıveis para o expoente evariam de 1 = (00001)2 a 30 = (11110)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 12 / 1

Page 40: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Vamos analisar o padrao half (16 bits)

1 2 3 4 5 6 7 8 9 10

sinal expoente (e) mantissa (m)

Valores especiais:

0 = 0 00000 0000000000inf = 0 11111 0000000000-inf = 1 11111 0000000000

Dessa forma, os valores disponıveis para o expoente evariam de 1 = (00001)2 a 30 = (11110)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 12 / 1

Page 41: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Vamos analisar o padrao half (16 bits)

1 2 3 4 5 6 7 8 9 10

sinal expoente (e) mantissa (m)

Valores especiais:

0 = 0 00000 0000000000inf = 0 11111 0000000000-inf = 1 11111 0000000000

Dessa forma, os valores disponıveis para o expoente evariam de 1 = (00001)2 a 30 = (11110)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 12 / 1

Page 42: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Vamos analisar o padrao half (16 bits)

1 2 3 4 5 6 7 8 9 10

sinal expoente (e) mantissa (m)

Valores especiais:

0 = 0 00000 0000000000

inf = 0 11111 0000000000-inf = 1 11111 0000000000

Dessa forma, os valores disponıveis para o expoente evariam de 1 = (00001)2 a 30 = (11110)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 12 / 1

Page 43: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Vamos analisar o padrao half (16 bits)

1 2 3 4 5 6 7 8 9 10

sinal expoente (e) mantissa (m)

Valores especiais:

0 = 0 00000 0000000000inf = 0 11111 0000000000

-inf = 1 11111 0000000000

Dessa forma, os valores disponıveis para o expoente evariam de 1 = (00001)2 a 30 = (11110)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 12 / 1

Page 44: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Vamos analisar o padrao half (16 bits)

1 2 3 4 5 6 7 8 9 10

sinal expoente (e) mantissa (m)

Valores especiais:

0 = 0 00000 0000000000inf = 0 11111 0000000000-inf = 1 11111 0000000000

Dessa forma, os valores disponıveis para o expoente evariam de 1 = (00001)2 a 30 = (11110)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 12 / 1

Page 45: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Vamos analisar o padrao half (16 bits)

1 2 3 4 5 6 7 8 9 10

sinal expoente (e) mantissa (m)

Valores especiais:

0 = 0 00000 0000000000inf = 0 11111 0000000000-inf = 1 11111 0000000000

Dessa forma, os valores disponıveis para o expoente evariam de 1 = (00001)2 a 30 = (11110)2.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 12 / 1

Page 46: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Exemplo: Qual numero e x1 = 0 10100 1010010000? (no quadro)

Solucao: x1 = 52.5.

Qual seria o proximo numero apos x1 a ser representado nesse formato?

x2 = 0 10100 1010010001 = 52.53125

Como representar x = 52.51 nesse sistema?

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 13 / 1

Page 47: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Exemplo: Qual numero e x1 = 0 10100 1010010000? (no quadro)Solucao: x1 = 52.5.

Qual seria o proximo numero apos x1 a ser representado nesse formato?

x2 = 0 10100 1010010001 = 52.53125

Como representar x = 52.51 nesse sistema?

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 13 / 1

Page 48: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Exemplo: Qual numero e x1 = 0 10100 1010010000? (no quadro)Solucao: x1 = 52.5.

Qual seria o proximo numero apos x1 a ser representado nesse formato?

x2 = 0 10100 1010010001 = 52.53125

Como representar x = 52.51 nesse sistema?

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 13 / 1

Page 49: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Exemplo: Qual numero e x1 = 0 10100 1010010000? (no quadro)Solucao: x1 = 52.5.

Qual seria o proximo numero apos x1 a ser representado nesse formato?

x2 = 0 10100 1010010001 = 52.53125

Como representar x = 52.51 nesse sistema?

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 13 / 1

Page 50: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Padrao IEEE 754-2008

Padrao nos Computadores – IEEE 754-2008

Exemplo: Qual numero e x1 = 0 10100 1010010000? (no quadro)Solucao: x1 = 52.5.

Qual seria o proximo numero apos x1 a ser representado nesse formato?

x2 = 0 10100 1010010001 = 52.53125

Como representar x = 52.51 nesse sistema?

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 13 / 1

Page 51: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Arredondamento de Ponto Flutuante

Arredondamento de Ponto Flutuante

xx- x+

?

Solucao: Basta escolher x ∈ F mais perto de x, isto e, dist(x, x) = |x− x|seja mınima.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 14 / 1

Page 52: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Arredondamento de Ponto Flutuante

Arredondamento de Ponto Flutuante

xx- x+

?

Solucao: Basta escolher x ∈ F mais perto de x, isto e, dist(x, x) = |x− x|seja mınima.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 14 / 1

Page 53: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Arredondamento de Ponto Flutuante

Arredondamento de Ponto Flutuante

Sejam β = 10 e t = 3. Dado x = 37.29. Logo,

x = 0.372︸ ︷︷ ︸fx

×102 + 0.9︸︷︷︸gx

×10−1

Criterio de Arredondamento: ponto flutuante mais proximo

x =

fx × 10e , se |gx| < 1

2

fx × 10e + 10e−t , se |gx| > 12

Usando o criterio acima, onde e = 2, temos:

x = 0.372× 102 + 102−3 = 0.372× 102 + 0.001× 102 = 0.373× 102

Observacao: truncamento de x e quando sempre fazemos gx = 0, istoe, x = fx × 10e. Nesse caso o arredondamento e feito na direcao de 0.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 15 / 1

Page 54: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Arredondamento de Ponto Flutuante

Arredondamento de Ponto Flutuante

Sejam β = 10 e t = 3. Dado x = 37.29. Logo,

x = 0.372︸ ︷︷ ︸fx

×102 + 0.9︸︷︷︸gx

×10−1

Criterio de Arredondamento: ponto flutuante mais proximo

x =

fx × 10e , se |gx| < 1

2

fx × 10e + 10e−t , se |gx| > 12

Usando o criterio acima, onde e = 2, temos:

x = 0.372× 102 + 102−3 = 0.372× 102 + 0.001× 102 = 0.373× 102

Observacao: truncamento de x e quando sempre fazemos gx = 0, istoe, x = fx × 10e. Nesse caso o arredondamento e feito na direcao de 0.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 15 / 1

Page 55: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Arredondamento de Ponto Flutuante

Arredondamento de Ponto Flutuante

Sejam β = 10 e t = 3. Dado x = 37.29. Logo,

x = 0.372︸ ︷︷ ︸fx

×102 + 0.9︸︷︷︸gx

×10−1

Criterio de Arredondamento: ponto flutuante mais proximo

x =

fx × 10e , se |gx| < 1

2

fx × 10e + 10e−t , se |gx| > 12

Usando o criterio acima, onde e = 2, temos:

x = 0.372× 102 + 102−3 = 0.372× 102 + 0.001× 102 = 0.373× 102

Observacao: truncamento de x e quando sempre fazemos gx = 0, istoe, x = fx × 10e. Nesse caso o arredondamento e feito na direcao de 0.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 15 / 1

Page 56: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Arredondamento de Ponto Flutuante

Arredondamento de Ponto Flutuante

Sejam β = 10 e t = 3. Dado x = 37.29. Logo,

x = 0.372︸ ︷︷ ︸fx

×102 + 0.9︸︷︷︸gx

×10−1

Criterio de Arredondamento: ponto flutuante mais proximo

x =

fx × 10e , se |gx| < 1

2

fx × 10e + 10e−t , se |gx| > 12

Usando o criterio acima, onde e = 2, temos:

x = 0.372× 102 + 102−3 = 0.372× 102 + 0.001× 102 = 0.373× 102

Observacao: truncamento de x e quando sempre fazemos gx = 0, istoe, x = fx × 10e. Nesse caso o arredondamento e feito na direcao de 0.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 15 / 1

Page 57: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Arredondamento de Ponto Flutuante

Arredondamento de Ponto Flutuante

Sejam β = 10 e t = 3. Dado x = 37.29. Logo,

x = 0.372︸ ︷︷ ︸fx

×102 + 0.9︸︷︷︸gx

×10−1

Criterio de Arredondamento: ponto flutuante mais proximo

x =

fx × 10e , se |gx| < 1

2

fx × 10e + 10e−t , se |gx| > 12

Usando o criterio acima, onde e = 2, temos:

x = 0.372× 102 + 102−3 = 0.372× 102 + 0.001× 102 = 0.373× 102

Observacao: truncamento de x e quando sempre fazemos gx = 0, istoe, x = fx × 10e. Nesse caso o arredondamento e feito na direcao de 0.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 15 / 1

Page 58: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Erro de Arredondamento

Erro de Arredondamento

Erro absoluto: EAx = |x− x|Erro relativo: ERx = |x− x|/|x|

Exemplo: Calcule o erro absoluto e relativo quandoaproximamos x = 37.29 em x = 37.3

Solucao: EAx = |x− x| = |37.29− 37.3| = 0.01 eERx = EAx/|x| = 0.01/|37.29| ≈ 0.27× 10−3

Definicao (precisao de maquina)A precisao de maquina e a distancia entre 1 e o proximo ponto flutuante maiordo que 1 e e dada por εM = β1−t. O tal eps do MATLAB.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 16 / 1

Page 59: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Erro de Arredondamento

Erro de Arredondamento

Erro absoluto: EAx = |x− x|Erro relativo: ERx = |x− x|/|x|

Exemplo: Calcule o erro absoluto e relativo quandoaproximamos x = 37.29 em x = 37.3

Solucao: EAx = |x− x| = |37.29− 37.3| = 0.01 eERx = EAx/|x| = 0.01/|37.29| ≈ 0.27× 10−3

Definicao (precisao de maquina)A precisao de maquina e a distancia entre 1 e o proximo ponto flutuante maiordo que 1 e e dada por εM = β1−t. O tal eps do MATLAB.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 16 / 1

Page 60: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Erro de Arredondamento

Erro de Arredondamento

Erro absoluto: EAx = |x− x|Erro relativo: ERx = |x− x|/|x|

Exemplo: Calcule o erro absoluto e relativo quandoaproximamos x = 37.29 em x = 37.3

Solucao: EAx = |x− x| = |37.29− 37.3| = 0.01 eERx = EAx/|x| = 0.01/|37.29| ≈ 0.27× 10−3

Definicao (precisao de maquina)A precisao de maquina e a distancia entre 1 e o proximo ponto flutuante maiordo que 1 e e dada por εM = β1−t. O tal eps do MATLAB.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 16 / 1

Page 61: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Erro de Arredondamento

Erro de Arredondamento

Erro absoluto: EAx = |x− x|Erro relativo: ERx = |x− x|/|x|

Exemplo: Calcule o erro absoluto e relativo quandoaproximamos x = 37.29 em x = 37.3

Solucao: EAx = |x− x| = |37.29− 37.3| = 0.01 eERx = EAx/|x| = 0.01/|37.29| ≈ 0.27× 10−3

Definicao (precisao de maquina)A precisao de maquina e a distancia entre 1 e o proximo ponto flutuante maiordo que 1 e e dada por εM = β1−t. O tal eps do MATLAB.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 16 / 1

Page 62: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Operacoes Aritmeticas com Ponto Flutuante

Operacoes Aritmeticas com Ponto Flutuante

Sejam x , y ∈ F. As operacoes com ponto flutuante sao definidas daseguinte maneira:

1 x⊕ y = x + y2 x y = x− y3 x⊗ y = x× y4 x÷ y = x÷ y

No final de cada operacao faz-se arredondamento.

Exemplo: Seja β = 10 e t = 3. Verifique se(23.4⊕ 5.18)⊕ 3.05 = 23.4⊕ (5.18⊕ 3.05) e3.18⊗ (5.05⊕ 11.4) = 3.18⊗ 5.05⊕ 3.18⊗ 11.4Solucao: operacoes em F nao sao associativa e nem distributivas, pois:

(23.4⊕ 5.18)⊕ 3.05 = 31.7 6= 31.6 = 23.4⊕ (5.18⊕ 3.05)

3.18⊗ (5.05⊕ 11.4) = 52.5 6= 52.4 = 3.18⊗ 5.05⊕ 3.18⊗ 11.4

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 17 / 1

Page 63: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Operacoes Aritmeticas com Ponto Flutuante

Operacoes Aritmeticas com Ponto Flutuante

Sejam x , y ∈ F. As operacoes com ponto flutuante sao definidas daseguinte maneira:

1 x⊕ y = x + y2 x y = x− y3 x⊗ y = x× y4 x÷ y = x÷ y

No final de cada operacao faz-se arredondamento.

Exemplo: Seja β = 10 e t = 3. Verifique se(23.4⊕ 5.18)⊕ 3.05 = 23.4⊕ (5.18⊕ 3.05) e3.18⊗ (5.05⊕ 11.4) = 3.18⊗ 5.05⊕ 3.18⊗ 11.4

Solucao: operacoes em F nao sao associativa e nem distributivas, pois:

(23.4⊕ 5.18)⊕ 3.05 = 31.7 6= 31.6 = 23.4⊕ (5.18⊕ 3.05)

3.18⊗ (5.05⊕ 11.4) = 52.5 6= 52.4 = 3.18⊗ 5.05⊕ 3.18⊗ 11.4

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 17 / 1

Page 64: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Operacoes Aritmeticas com Ponto Flutuante

Operacoes Aritmeticas com Ponto Flutuante

Sejam x , y ∈ F. As operacoes com ponto flutuante sao definidas daseguinte maneira:

1 x⊕ y = x + y2 x y = x− y3 x⊗ y = x× y4 x÷ y = x÷ y

No final de cada operacao faz-se arredondamento.

Exemplo: Seja β = 10 e t = 3. Verifique se(23.4⊕ 5.18)⊕ 3.05 = 23.4⊕ (5.18⊕ 3.05) e3.18⊗ (5.05⊕ 11.4) = 3.18⊗ 5.05⊕ 3.18⊗ 11.4Solucao: operacoes em F nao sao associativa e nem distributivas, pois:

(23.4⊕ 5.18)⊕ 3.05 = 31.7 6= 31.6 = 23.4⊕ (5.18⊕ 3.05)

3.18⊗ (5.05⊕ 11.4) = 52.5 6= 52.4 = 3.18⊗ 5.05⊕ 3.18⊗ 11.4Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 17 / 1

Page 65: Noc¸oes B˜ asicas de´ Ponto Flutuante...Prof. Afonso Paiva (ICMC-USP) Noc¸˜oes B ´asicas de Ponto Flutuante SME0305 4 / 1 Conversao entre n˜ umeros bin´ arios e decimais´

Sistema F(β, t, m, M) Operacoes Aritmeticas com Ponto Flutuante

Operacoes Aritmeticas com Ponto Flutuante

Exercıcio:Considere a funcao abaixo:

f (x) = (x− 1)7 = x7 − 7x6 + 21x5 − 35x4 + 35x3 − 21x2 + 7x− 1

Plote usando o MATLAB e compare os graficos de f1(x) = (x− 1)7 ef2(x) = x7 − 7x6 + 21x5 − 35x4 + 35x3 − 21x2 + 7x− 1 usando 100pontos igualmente espacados no intervalo [1− 2× 10−8, 1 + 2× 10−8].Explique o que acontece com os dois graficos.

Prof. Afonso Paiva (ICMC-USP) Nocoes Basicas de Ponto Flutuante SME0305 18 / 1