Σχετικά με την αυξημένη ακρίβεια των υπολογισμών στα Pages, Numbers και Keynote

Μετά την ενημέρωση των Pages, Numbers και Keynote, ενδέχεται να παρατηρήσετε μικρές αλλαγές στα αποτελέσματα των υπολογισμών στα έγγραφά σας. Αυτό οφείλεται στο γεγονός ότι η τελευταία έκδοση του iWork περιλαμβάνει μια ενημέρωση στον μηχανισμό υπολογισμών, η οποία παράγει αποτελέσματα με ακόμα μεγαλύτερη ακρίβεια από πριν.

Οι περισσότεροι μαθηματικοί τύποι δεν θα εμφανίζουν καμία ορατή διαφορά, αλλά οι υπολογισμοί που έχουν ως αποτέλεσμα ή χρησιμοποιούν εξαιρετικά μικρούς αριθμούς ενδέχεται τώρα να εμφανίζουν μια απάντηση ακόμα μεγαλύτερης ακρίβειας.

Παράδειγμα 1

Στις προηγούμενες εκδόσεις των Numbers, Pages και Keynote, ένας υπολογισμός όπως = 10,0 - 9,8 έχει ως αποτέλεσμα την τιμή 0,199999999999999.

Αλλάζοντας τον αριθμό των δεκαδικών ψηφίων που εμφανίζονται στο κελί (μεταξύ 1 και 14 δεκαδικών ψηφίων) μπορείτε να διορθώσετε το πρόβλημα ώστε να εμφανίζεται το αναμενόμενο αποτέλεσμα 0,2. Αυξάνοντας τον αριθμό των δεκαδικών ψηφίων που εμφανίζονται στο κελί εμφανίζεται 0,199999999999999000000000000000.

Αυτό οφείλεται στον τρόπο που το δυαδικό σύστημα αποθηκεύει εσωτερικά τους δεκαδικούς αριθμούς. Οι δυαδικές αναπαραστάσεις των δεκαδικών αριθμών μπορούν να επιφέρουν πολύ μικρές αποκλίσεις. Ο μηχανισμός υπολογισμών στα Pages, Numbers και Keynote χρησιμοποιούσε πάντα εξελιγμένες τεχνικές ώστε να αποτρέπει τη συγκέντρωση αυτών των διαφορών στους υπολογισμούς, αλλά σε πολύ υψηλούς βαθμούς ακρίβειας οι διαφορές μπορεί να γίνουν φανερές.

Ο νέος μηχανισμός υπολογισμών έχει βελτιωθεί σημαντικά σε σχέση με τις προηγούμενες εκδόσεις χρησιμοποιώντας μια δεκαδική αναπαράσταση των αριθμών σε όλον τον υπολογισμό.

Το αποτέλεσμα είναι ότι ο ίδιος υπολογισμός = 10,0 - 9,8 έχει τώρα ως αποτέλεσμα την τιμή 0,2. Αυξάνοντας τον αριθμό των εμφανιζόμενων δεκαδικών ψηφίων τώρα, εμφανίζεται η τιμή 0,2000000000000000000000000000000.

Παράδειγμα 2

Στις προηγούμενες εκδόσεις του Numbers, ο μαθηματικός τύπος ROUND(8,415,2) επιστρέφει την τιμή 8,41. Αυτό οφείλεται και πάλι στον τρόπο που αποθηκεύονται οι τιμές εσωτερικά στο δυαδικό σύστημα.

Με τον νέο μηχανισμό υπολογισμών, ROUND(8,415,2) επιστρέφει την τιμή 8,42.

Σχετικά με τους δεκαδικούς αριθμούς που κωδικοποιούνται στο δυαδικό σύστημα έναντι της κωδικοποίησης δεκαδικών αριθμών κινητής υποδιαστολής

Οι περισσότεροι υπολογιστές αποθηκεύουν τους αριθμούς ως μια σειρά μηδενικών και μονάδων, οι οποίες είναι δυαδικές τιμές. Μια διαδικασία που ονομάζεται κωδικοποίηση BCD (Binary Coded Decimal - Δεκαδικοί αριθμοί κωδικοποιημένοι στο δυαδικό σύστημα) μετατρέπει τους κλασματικούς αριθμούς στους αντίστοιχους δυαδικούς αριθμούς. Όταν οι αριθμοί κωδικοποιούνται με χρήση της διαδικασίας BCD, δεν είναι δυνατή η αναπαράσταση ορισμένων τιμών με απόλυτη ακρίβεια. Για παράδειγμα, η τιμή 0,2 σε δυαδική μορφή είναι 0,001100110011... (επαναλαμβανόμενη). Η τιμή πρέπει να αποκοπεί προκειμένου να κωδικοποιηθεί με χρήση της διαδικασίας BCD, γεγονός που αλλάζει ελαφρώς την αποθηκευμένη τιμή. Παρόλο που οι αποκλίσεις που παρουσιάζει η διαδικασία BCD μπορεί να είναι πολύ μικρές, αυτές γίνονται πιο προφανείς όταν ενισχύονται μέσω συγκεκριμένων τύπων αλυσίδων υπολογισμών.

Οι πιο πρόσφατες εκδόσεις των Pages, Numbers και Keynote κωδικοποιούν τους αριθμούς χρησιμοποιώντας κωδικοποίηση DFP (Decimal Floating Point - Δεκαδικών αριθμών κινητής υποδιαστολής) 128 bit. Αυτή είναι μια πολύ πιο ακριβής μέθοδος κωδικοποίησης δεκαδικών αριθμών που αποφεύγει τα σφάλματα στρογγυλοποίησης, που είναι συνήθη στην κωδικοποίηση BCD. Επιπλέον, ο ενημερωμένος μηχανισμός υπολογισμών λειτουργεί απευθείας με τους αριθμούς που κωδικοποιούνται με τη μέθοδο DFP. Οι τιμές στα κελιά των πινάκων αποθηκεύονται με μεγαλύτερη ακρίβεια και τα αποτελέσματα των μαθηματικών τύπων υπολογίζονται επίσης με μεγαλύτερη ακρίβεια.

Πολλοί μαθηματικοί τύποι δεν θα εμφανίζουν καμία ορατή διαφορά, αλλά οι υπολογισμοί που έχουν ως αποτέλεσμα ή χρησιμοποιούν εξαιρετικά μικρούς αριθμούς ενδέχεται τώρα να εμφανίζουν μια απάντηση ακόμα μεγαλύτερης ακρίβειας.

Ημερομηνία δημοσίευσης: