Collabora Office kalkuluen zehaztasuna

Berezko zehaztasunaren arazoa

Collabora Office Calc aplikazioak, beste kalkulu-orri batzuek bezala, ordenagailuak erabilgarri dituen koma mugikorreko matematika-gaitasunak erabiltzen ditu. Hardware moderno gehienak koma mugikor bitarreko aritmetika, IEEE 754 estandarrean definitutakoa eta doitasun mugatua duena, erabiltzen duenez gero, zenbaki dezimal asko -baita 0,1 bezain sinpleak direnak- ezin dira modu egokian irudikatu Collabora Office Calc-en (nahiz eta berak, barnean, 64 bit-eko doitasun bikoitzeko zenbakiak erabili).

Zenbaki horiekin egiten diren kalkuluek biribiltze-erroreak dituzten emaitzak sortzen dituzte eta akats horiek metatzen doaz kalkulu gehiago egin ahala.

Hori ez da akats, baizik eta espero den zerbait, saihestezina dena errendimendu- arazo handiak sortuko lituzketen software bidezko kalkulu konplexuak erabili gabe eta, beraz, konpondu ezinezkoa dena. Erabiltzaileek kontuan hartu behar dute hori eta biribiltzeak eta konparazioak erabili makinaren epsilona (edo unitateen biribiltzea) aplikatuz, beharrezkoa denean.

Adibide bat zenbakiekin:

A

1

31000.99

2

32000.12

3

=A1-A2


Horrek -999,129999999997 emango du A3 gelaxkan, espero den -999,13 ordez (bistaratzen den dezimal kopurua handitu beharko duzu agian hori ikusteko).

Adibide bat datekin eta orduekin:

Calc-en denbora nola adierazten den jakinda, auzi hori denborarekin lotutako kalkulu guztietan ere gertatuko da. Adibidez, beheko A1 eta A2 gelaxkek data eta ordua sartutako moduan (ISO 8601 formatuan) erakusten dute:

A

1

2020-04-13 12:18:00

2

2020-04-13 12:08:00

3

=A1-A2


A3 gelaxkak 00:10:00 erakutsiko du formatu lehenetsia [OO]:MM:SS aplikatzen bazaio gelaxkari. Hala ere, A3 gelaxkak 00:09:59.999999 erakutsiko du, espero den 00:10:00.000000 ordez, [OO]:MM:SS.000000 formatu-katea erabiltzen bada. Hori gertatzen da baita orduen eta minutuen zenbaki osoak erabiltzen badira ere, barneko motorrean denbora egun baten zatikia baita, eguerdia (12:00) adierazteko 0,5 erabiltzen dela.

A1 gelaxkako datuak barnean 43934,5125 gisa adierazten dira eta A2 gelaxkakoak 43934,5055555555591126903891563 gisa (eta hori ez da sartutako denboraren irudikapen zehatza, balio zehatza 43934,505555555555555555... litzateke).

Bere kenketak 0,00694444443287037 emango du, espero den 0,00694444444444... (10 minutu alegia) balioarekiko pixka bat desberdina dena.

Emaguzu laguntza!