Reali in base b = 2: base del calcolatore
Ogni x ∈ ℝ si può scrivere come:
x = sign(x) {Σj=0m cibi + Σi=1∞ cib-i}
- Parte intera ∈ N
- Parte frazionaria ∈ [0,1]
Qual è l'errore dell'approssimazione?
Dato x = sign(x) {Σj=0m cjbi + Σi=1∞ cjb-i}, definiamo:
x~n = sign(x) {Σj=0m cibi + Σi=1n cjb-i}
x~n = parte frazionaria troncata a n cifre - Troncamento a n cifre
Definiamo errore~ = |a-ā| = | 5-ō| errore assoluto. Stimiamo |x - x~n|.
|x - x~n| = Σj=n+1∞ cib-i → l'errore di troncamento è il resto della serie che definisce la parte frazionaria.
Da stima dell'errore è, |x - x~n| < b-n.
Quante cifre dopo la virgola per garantire che l'errore non superi una tolleranza ε>0?
|x - x~n| < b-n < ε → log b-n < log ε → n > log ε/log b.
Errore per arrotondamento
Definiamo x~n = sign(x) {Σ j=0m cjbi + 0. c' c2 ... cn} dove cn-Difetto cn+'Eccesso
Nel caso di basi pari, l'errore di arrotondamento è: |x - x~n| < b-n / 2 moltip del max err di troncamento.
Nuova sezione 1
Reali in base b = 2: base del calcolatore
Ogni x ∈ ℝ si può scrivere come:
x = sign(x) {Σj=0m cjbj + Σi=1∞ cib-i}
- Parte intera ∈ N
- Parte frazionaria ∈ [0,1]
Qual è l'errore dell'approssimazione?
Dato x = sign(x) {Σj=0m cj bj + Σi=1∞ ci b-i}, definiamo:
◯n = sign(x){Σj=0m cj bj + Σi=1n cj b-i}
◯n = parte frazionaria tagliata a n cifre - Troncamento a n cifre
Definiamo errore: errore = |a - â| = |î - î| errore assoluto. Stimiamo |x - ◯n|.
|x - ◯n| = Σi=n+1∞ ci b-i → l'errore di troncamento è il resto delle cifre che definisce la parte frazionaria.
Da stima dell'errore è, |x - ◯n| < b-n.
Quante cifre dopo la virgola per garantire che l'errore non superi una tolleranza ε>0?
|x - ◯n| < b-n < ε → log b-n < log ε → −n log b < log ε ⇒ n > − log ε
Errore per arrotondamento
Definiamo ◯n = sign(x) Σj=0m cj bj + â.â,â,â...
Nel caso di basi pari, l'errore di arrotondamento è: |x - ◯n| < 1/2 b-n molto del max err di troncamento.
Floating-point, precisione di macchina
x ∈ ℝ in base b: x = sign(x)(0.d1d2...dt...)bp , p ∈ d1 ≠ 0
dj con 1 ≤ j < ∞ sono le cifre di mantissa. La mantissa non è la parte frazionale.
L'insieme di reali-macchina F è un insieme definito da 4 parametri:
- b = Base
- t = n° cifre di mantissa
- L = Lower
- U = Upper
→ F (b,t,L,U)
Le macchine lavorano in 64 bit in base 2 → b = 2, t = 53, L = -1023, U = 1023
Errore di approssimazione da ℝ a F (assoluto)
x = sign(x)(0.d1d2d3...dt...)bp
flt(x) = sign(x)(0.d1d2...dt)bp
dt = dt Detto dt + 1 = Giusto
→ Errore = |x - flt