Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...
Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...
Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.2. Aritmetica <strong>di</strong> macchina<br />
Figura 3.3: La Mars Climate Orbiter<br />
unità metriche!<br />
Si era ipotizzato <strong>di</strong> entrare nell’atmosfera <strong>di</strong> Marte ad una altezza<br />
<strong>di</strong> circa 150 km mentre il veicolo spaziale entrò ad una altezza<br />
<strong>di</strong> circa 60 km. Per un errore <strong>di</strong> conversione delle unità <strong>di</strong><br />
misura, il velivolo entrò nell’atmosfera con una traiettoria inferiore<br />
rispetto a quella pianificata. La velocità del mezzo era molto<br />
elevata e portò alla <strong>di</strong>struzione non solo del veicolo spaziale ma<br />
anche della stessa Polar Lander.<br />
Diversi furono i motivi che portarono al fallimento <strong>di</strong> questa<br />
missione. Il principale è dovuto all’errore nel trasferimento <strong>di</strong> informazioni<br />
tra il team che lavorava sul veicolo spaziale, che si trovava<br />
in Colorado e il team della missione <strong>di</strong> navigazione, che lavorava<br />
in California. Un team usava le unità inglesi (inches, feet,<br />
pounds) mentre l’altro usava le unità metriche. L’errore fu nella<br />
mancata conversione delle unità <strong>di</strong> misura tra unità inglesi e<br />
3.2 Aritmetica <strong>di</strong> macchina<br />
Un qualunque numero reale può essere rappresentato accuratamente da una sequenza <strong>di</strong> infinite cifre<br />
decimali.<br />
Ad esempio:<br />
(<br />
1<br />
0<br />
3 = 0.3333333... = 10 0 + 3<br />
10 1 + 3<br />
10 2 + 3<br />
10 3 + 3 )<br />
10 4 ... × 10 0<br />
( 3<br />
π = 3.14159265358979... =<br />
10 0 + 1<br />
10 1 + 4<br />
10 2 + 1<br />
10 3 + 5 )<br />
10 4 ... × 10 0<br />
Osserviamo che abbiamo scritto 1/3 e π in base 10, usando, quin<strong>di</strong>, le cifre 0,1,2,...,9 per poterli<br />
rappresentare.<br />
In genere, un numero reale x può essere rappresentato in base N come<br />
x = x m N m + x m−1 N m−1 + ... + x 1 N + x 0 + x −1 N −1 + x −2 N −2 + ... x −n N −n<br />
} {{ }<br />
parte intera<br />
} {{ }<br />
parte frazionaria<br />
dove m e n sono interi naturali e x k , k = m,m − 1,...,−n sono interi naturali compresi tra 0 e N − 1.<br />
In base 10, il numero 726.625, scritto in forma estesa è dato dalla forma:<br />
Esempio<br />
7 × 10 2 + 2 × 10 1 + 6 + 6 × 10 −1 + 2 × 10 −2 + 5 × 10 −3<br />
Tuttavia, i calcolatori hanno una memoria finita per poter rappresentare i numeri. Ciò significa che solo<br />
una sequenza finita <strong>di</strong> cifre possono essere usate. Inoltre, i calcolatori lavorano in base binaria, quin<strong>di</strong> ogni<br />
numero può essere rappresentato me<strong>di</strong>ante una sequenza <strong>di</strong> 0 e 1.<br />
Avendo in mente questi due fattori, possiamo ora capire la rappresentazione dei numeri al calcolatore,<br />
per cui ad ogni numero reale x è associato il numero <strong>di</strong> macchina denotato come f l(x), in rappresentazione<br />
floating point – virgola mobile.<br />
21