Operazioni aritmetiche tra numeri floating point. Gli operandi di un’operazione floating point devono essere anch’essi floating point, come lo deve essere il risultato.

Attenzione

L’insieme F non è chiuso rispetto alle operazioni, quindi può succedere che il risultato di un’operazione, oltre ai classici overflow e underflow, con una limitata precisione di macchina, non si possono rappresentare tutti i numeri reali in un dato intervallo.

Le operazioni vengono ridefinite in modo che il risultato appartenga all’insieme .

Il risultato di un’operazione tra numeri dell’insieme F è un numero reale, che è la rappresentazione floating point di esso: . L’ultimo passaggio introduce un errore nella conversione ogni volta che il risultato non appartiene all’insieme (deve essere troncato o arrotondato alla t-esima cifra della mantissa).

Teorema

Siano . Indichiamo con una qualsiasi delle quattro operazioni. L’errore relativo commesso approssimando il risultato esatto dell’operazione con la sua rappresentazione floating point soddisfa: dove oppure a seconda che la rappresentazione sia ottenuta per arrotondamento o troncamento rispettivamente. L’errore è sempre maggiorato dalla precisione di macchina.

Si tratta del teorema dell’errore di rappresentazione dei numeri reali applicato al caso specifico .

Errore di incolonnamento

Si verifica quando si sommano due numeri con ordini di grandezza molto diversi.

Sommando questi due si ottiene:

Quindi, il risultato, equivale a , anche se .

Errore di incolonnamento

La somma dei due addendi non nulli, da come risultato il più grande in valore assoluto dei due. Si verifica quando:

Elemento neutro

Per la somma in virgola mobile non esiste un unico elemento neutro, perché come si evince dall’esempio di cui sopra, ci sono più elementi che non influenzano la somma. Lo stesso vale per il prodotto.

Non validità delle proprietà fondamentali

Le operazioni di macchina non godono delle proprietà fondamentali che valgono per la matematica esatta.

Influenza dell'algoritmo

In generale, il risultato del calcolo di un’espressione intesa come successione di operazioni aritmetiche dipende dall’algoritmo utilizzato per calcolarla. eg. può non essere uguale a , perché si esegue la trasformazione a formato floating point anche per i risultati intermedi.