18.01.2015 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!