Om den øgede nøjagtighed af beregninger i Pages, Numbers og Keynote

Efter opdatering af Pages, Numbers og Keynote vil du muligvis kunne se mindre ændringer af resultaterne af beregningerne i dine dokumenter. Det skyldes, at den seneste version af iWork omfatter en opdatering af beregningsfunktionen, som genererer resultater med en endnu større nøjagtighed end før.

De fleste formler vil ikke vise nogen synlig forskel, men beregninger, der resulterer i eller anvender ekstremt små tal, kan nu muligvis vise et endnu mere nøjagtigt svar.

Eksempel 1

I tidligere versioner af Numbers, Pages og Keynote giver en beregning såsom = 10,0 - 9,8 en værdi på 0,199999999999999.

Hvis antallet af decimaler, der vises i cellen (mellem 1 og 14 decimaler), ændres, kan det løse problemet, så det forventede resultat på 0,2 vises. Hvis antallet af decimaler, der vises i cellen, øges, vises tallet 0,199999999999999000000000000000.

Det sker på grund af den måde, den binære form gemmer antallet af decimaler på internt. Binære visninger af decimaler kan være årsag til meget små forskelle. Beregningsfunktionen i Pages, Numbers og Keynote har altid anvendt avancerede teknikker til at undgå, at disse forskelle opstår i beregninger, men ved en meget høj grad af præcision kan forskellene være tydelige.

Den nye beregningsfunktion er markant forbedret i forhold til tidligere versioner, da den bruger en decimalvisning af tal i hele beregningen.

Resultatet er, at den samme beregning = 10,0 - 9,8 nu giver en værdi på 0,2. Hvis antallet af viste decimaler øges, viser der nu en værdi på 0,2000000000000000000000000000000.

Eksempel 2

I tidligere versioner af Numbers giver formlen ROUND(8,415.2) resultatet 8,41. Dette sker også på grund af den måde, værdier gemmes på internt i den binære form.

Med den nye beregningsfunktion giver ROUND(8,415.2) resultatet 8,42.

Om BCD-kodning versus DFP-kodning

De fleste computere gemmer tal som en serie af nuller og ettaller, hvilket er binære værdier. En proces kaldet BCD-kodning (Binary Coded Decimal) konverterer brøktal til deres binære modstykker. Når tal kodes med BCD, kan nogle værdier ikke vises med fuld nøjagtighed. F.eks. 0,2 i binær form 0,001100110011... (gentaget). Værdien skal afkortes for at kode den ved hjælp af BCD, hvilket ændrer den gemte værdi en lille smule. Selvom forskellene, som BCD medfører, kan være meget små, bliver disse forskelle mere tydelige, når de præciseres gennem bestemte typer af beregningskæder.

De seneste versioner af Pages, Numbers og Keynote koder tal ved hjælp af DFP-kodning (Decimal Floating Point) på 128 bit. Det er en meget mere nøjagtig måde at kode decimalbrøker på, så man undgå de afrundingsfejl, der er typiske for BCD-kodning. Den opdaterede beregningsfunktion fungerer desuden direkte med tal, der er kodet med DFP – værdier i tabelceller gemmes mere nøjagtigt, og formelresultater beregnes mere nøjagtigt.

Mange formler vil ikke vise nogen synlig forskel, men beregninger, der resulterer i eller anvender ekstremt små tal, kan nu muligvis vise et endnu mere nøjagtigt svar.

Udgivelsesdato: