Natančnost pri računanju

Vsebina

# Natančnost pri računanju v LibreOffice

## Inherentni problem natančnosti

LibreOffice Calc tako kot večina drugih elektronskih preglednic uporablja zmožnosti strojne opreme za računanje s števili s plavajočo vejico. Glede na to, da uporablja večina sodobne strojne opreme binarno aritmetiko plavajoče vejice z omejeno natančnostjo, določeno s standardom IEEE 754, številnih decimalnih števil – vključno s tako enostavnim, kot je 0,1 – ni mogoče natančno predstaviti v programu LibreOffice Calc (ki interno uporablja 64-bitna števila z dvojno natančnostjo).

Računanje s temi števili nujno vodi v napake pri zaokrožanju, te pa se z vsakim nadaljnjim izračunom nalagajo.

Ne gre za hrošča, temveč za pričakovano in trenutno neizogibno težavo, če ne uporabljamo kompleksnih izračunov v programski opremi, ki bi povzročila visok davek na hitrost delovanja, zato ne pride v poštev. Uporabniki morajo to upoštevati in po potrebi uporabljati zaokrožanje in primerjave s strojnim epsilonom (ali zaokrožanjem enot).

Primer s števili:

| A
1 | 31000.99
2 | 32000.12
3 | =A1-A2

To pripelje do rezultata -999,129999999997 v A3 namesto pričakovanega -999,13 (morda morate povečati prikazano število decimalk v obliki celic, da to vidite).

Podobne teme

RAWSUBTRACT

Podprite nas!