Accuratezza di calcolo in LibreOffice

Problema di accuratezza intrinseca

LibreOffice Calc, come la maggior parte degli altri programmi per fogli di calcolo, utilizza le capacità matematiche in virgola mobile disponibili sull'hardware. Poiché la maggior parte dell'hardware contemporaneo utilizza l'aritmetica binaria in virgola mobile con precisione limitata definita nello standard IEEE 754, molti numeri decimali, compresi quelli semplici come 0,1, non possono essere rappresentati con precisione in LibreOffice Calc (che utilizza internamente numeri a doppia precisione a 64 bit).

I calcoli con questi numeri comportano necessariamente errori di arrotondamento, che si accumulano a ogni calcolo.

Questo non è un errore, ma è previsto e attualmente inevitabile senza ricorrere a calcoli complessi nel software, che comporterebbero penalizzazioni inappropriate delle prestazioni, e quindi è fuori discussione. Gli utenti devono tenerne conto e utilizzare gli arrotondamenti e i confronti con l'Epsilon di macchina (o arrotondamento unitario) laddove necessario.

Un esempio con i numeri:

A

1

31000.99

2

32000.12

3

=A1-A2


Questo restituirĂ  nella cella A3 -999,129999999997 al posto dell'atteso -999,13 (potrebbe essere necessario incrementare il numero di cifre decimali per visualizzarlo).

Sostienici!