Στρογγυλοποίηση

Η λέξη "στρογγυλοποίηση" για μια αριθμητική τιμή σημαίνει την αντικατάστασή της από μια άλλη τιμή που είναι περίπου ίση αλλά έχει μικρότερη, απλούστερη ή πιο σαφή μορφή. Για παράδειγμα, η τιμή 23,74 δολάρια ΗΠΑ θα μπορούσε να στρογγυλοποιηθεί σε 24 δολάρια ΗΠΑ, ή το κλάσμα 312/937 θα μπορούσε να στρογγυλοποιηθεί σε 1/3, ή η έκφραση 2 {\displaystyle {\sqrt {2}}{\displaystyle {\sqrt {2}}} ως 1,41.

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

Από την άλλη πλευρά, η στρογγυλοποίηση μπορεί να εισάγει κάποιο σφάλμα στρογγυλοποίησης στο αποτέλεσμα. Η στρογγυλοποίηση είναι σχεδόν αναπόφευκτη σε πολλούς υπολογισμούς, ιδίως όταν διαιρούνται δύο αριθμοί σε ακέραιους αριθμούς ή αριθμητική σταθερών σημείων, όταν υπολογίζονται μαθηματικές συναρτήσεις όπως τετραγωνικές ρίζες, λογάριθμοι και ημίτονα ή όταν χρησιμοποιείται αναπαράσταση κινητήςυποδιαστολής με σταθερό αριθμό σημαντικών ψηφίων. Σε μια ακολουθία υπολογισμών, αυτά τα σφάλματα στρογγυλοποίησης γενικά συσσωρεύονται, και σε ορισμένες "κακοπροαίρετες" περιπτώσεις, τότε μπορεί να καταστήσουν το αποτέλεσμα χωρίς νόημα.

Η ακριβής στρογγυλοποίηση των υπερβατικών μαθηματικών συναρτήσεων είναι δύσκολη, επειδή ο αριθμός των επιπλέον ψηφίων που πρέπει να υπολογιστούν για να αποφασιστεί αν πρέπει να στρογγυλοποιηθεί προς τα πάνω ή προς τα κάτω δεν μπορεί να είναι γνωστός εκ των προτέρων. Το πρόβλημα αυτό είναι γνωστό ως "το δίλημμα του τραπεζίτη" (παρακάτω).

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

Τύποι στρογγυλοποίησης

Τυπικά προβλήματα στρογγυλοποίησης είναι:

  • προσέγγιση ενός άρρητου αριθμού με κλάσμα, π.χ. π με 22/7,
  • προσέγγιση ενός κλάσματος με περιοδικό δεκαδικό ανάπτυγμα με ένα πεπερασμένο δεκαδικό κλάσμα, π.χ. 5/3 με 1,6667,
  • αντικατάσταση ενός ορθολογικού αριθμού από κλάσμα με μικρότερο αριθμητή και παρονομαστή, π.χ. 3122/9417 με 1/3,
  • αντικατάσταση ενός κλασματικού δεκαδικού αριθμού από έναν αριθμό με λιγότερα ψηφία, π.χ. 2,1784 δολάρια από 2,18 δολάρια,
  • αντικατάσταση ενός δεκαδικού ακέραιου αριθμού από έναν ακέραιο αριθμό με περισσότερα μηδενικά στο τέλος, π.χ. 23.217 άτομα από 23.200 άτομα- ή, γενικά,
  • αντικατάσταση μιας τιμής με ένα πολλαπλάσιο ενός καθορισμένου ποσού, π.χ. 27,2 δευτερόλεπτα με 30 δευτερόλεπτα (πολλαπλάσιο του 15).

Στρογγυλοποίηση σε καθορισμένη προσαύξηση

Ο πιο συνηθισμένος τύπος στρογγυλοποίησης είναι η στρογγυλοποίηση σε ακέραιο αριθμό ή, γενικότερα, σε ακέραιο πολλαπλάσιο κάποιας προσαύξησης - όπως η στρογγυλοποίηση σε ακέραια δέκατα του δευτερολέπτου, εκατοντάδες του δολαρίου, σε ακέραια πολλαπλάσια του 1/2 ή 1/8 της ίντσας, σε ακέραιες δεκάδες ή χιλιάδες κ.λπ.

Γενικά, η στρογγυλοποίηση ενός αριθμού x σε πολλαπλάσιο κάποιας καθορισμένης προσαύξησης m περιλαμβάνει τα ακόλουθα βήματα:

  1. Διαιρέστε το x με το m, το αποτέλεσμα ας είναι το y,
  2. Στρογγυλοποιήστε το y σε ακέραια τιμή, ονομάστε το q,
  3. Πολλαπλασιάστε το q με το m για να λάβετε τη στρογγυλοποιημένη τιμή z.

z = r o u n d ( x , m ) = r o u n d ( x / m ) m {\displaystyle z=\mathrm {round} (x,m)=\mathrm {round} (x/m)\cdot m\,} {\displaystyle z=\mathrm {round} (x,m)=\mathrm {round} (x/m)\cdot m\,}

Για παράδειγμα, η στρογγυλοποίηση του x = 2,1784 δολάρια σε ολόκληρα σεντς (δηλαδή σε πολλαπλάσιο του 0,01) συνεπάγεται τον υπολογισμό του y = x/m = 2,1784/0,01 = 217,84, στη συνέχεια τη στρογγυλοποίηση του y στον ακέραιο αριθμό q = 218 και, τέλος, τον υπολογισμό του z = q×m = 218×0,01 = 2,18.

Κατά τη στρογγυλοποίηση σε έναν προκαθορισμένο αριθμό σημαντικών ψηφίων, η προσαύξηση m εξαρτάται από το μέγεθος του προς στρογγυλοποίηση αριθμού (ή του στρογγυλοποιημένου αποτελέσματος).

Η προσαύξηση m είναι συνήθως ένα πεπερασμένο κλάσμα σε οποιοδήποτε αριθμητικό σύστημα χρησιμοποιείται για την αναπαράσταση των αριθμών. Για την απεικόνιση στους ανθρώπους, αυτό συνήθως σημαίνει το δεκαδικό αριθμητικό σύστημα (δηλαδή, το m είναι ένας ακέραιος αριθμός επί μια δύναμη του 10, όπως 1/1000 ή 25/100). Για ενδιάμεσες τιμές που αποθηκεύονται σε ψηφιακούς υπολογιστές, συχνά σημαίνει το δυαδικό αριθμητικό σύστημα (το m είναι ένας ακέραιος αριθμός επί μια δύναμη του 2).

Η αφηρημένη συνάρτηση "round()" με ένα μόνο όρισμα που επιστρέφει έναν ακέραιο από μια αυθαίρετη πραγματική τιμή έχει τουλάχιστον δώδεκα διαφορετικούς συγκεκριμένους ορισμούς που παρουσιάζονται στην ενότητα στρογγυλοποίηση σε ακέραιο. Η αφηρημένη συνάρτηση "round()" δύο επιχειρημάτων ορίζεται τυπικά εδώ, αλλά σε πολλές περιπτώσεις χρησιμοποιείται με την έμμεση τιμή m = 1 για την αύξηση και στη συνέχεια ανάγεται στην ισοδύναμη αφηρημένη συνάρτηση ενός επιχειρημάτων, με τους ίδιους δώδεκα διαφορετικούς συγκεκριμένους ορισμούς.

Στρογγυλοποίηση σε ακέραιο αριθμό

Η πιο βασική μορφή στρογγυλοποίησης είναι η αντικατάσταση ενός αυθαίρετου αριθμού από έναν ακέραιο. Όλοι οι ακόλουθοι τρόποι στρογγυλοποίησης είναι συγκεκριμένες υλοποιήσεις της αφηρημένης συνάρτησης "round()" με ένα αντικείμενο που παρουσιάστηκε και χρησιμοποιήθηκε στις προηγούμενες ενότητες.

Υπάρχουν πολλοί τρόποι στρογγυλοποίησης ενός αριθμού y σε ακέραιο αριθμό q. Οι πιο συνηθισμένοι είναι οι εξής

  • στρογγυλοποίηση προς τα κάτω στρογγυλοποίηση προς το ελάχιστο, ή στρογγυλοποίηση προς το μείον άπειρο): q είναι ο μεγαλύτερος ακέραιος που δεν υπερβαίνει το y.

q = f l o o r ( y ) = ⌊ y ⌋ = - ⌈ - y ⌉ {\displaystyle q=\mathrm {floor} (y)=\left\lfloor y\right\rfloor =-\left\lceil -y\right\rceil \,} {\displaystyle q=\mathrm {floor} (y)=\left\lfloor y\right\rfloor =-\left\lceil -y\right\rceil \,}

  • στρογγυλοποιήστε προς τα πάνω (ή πάρτε το ανώτατο όριο, ή στρογγυλοποιήστε προς το άπειρο): q είναι ο μικρότερος ακέραιος που δεν είναι μικρότερος του y.

q = c e i l ( y ) = ⌈ y ⌉ = - ⌊ - y ⌋ {\displaystyle q=\mathrm {ceil} (y)=\left\lceil y\right\rceil =-\left\lfloor -y\right\rfloor \,} {\displaystyle q=\mathrm {ceil} (y)=\left\lceil y\right\rceil =-\left\lfloor -y\right\rfloor \,}

  • στρογγυλοποίηση προς το μηδέν αποκοπή, ή στρογγυλοποίηση από το άπειρο): q είναι το ακέραιο μέρος του y, χωρίς τα κλασματικά ψηφία του.

q = t r u n c a t e ( y ) = sgn ( y ) ⌊ | y | ⌋ = - sgn ( y ) ⌈ - | y | ⌉ {\displaystyle q=\mathrm {truncate} (y)=\operatorname {sgn}(y)\left\lfloor \left|y\right|right\rfloor =-\operatorname {sgn}(y)\left\lceil -\left|y\right|\right\rceil \,} {\displaystyle q=\mathrm {truncate} (y)=\operatorname {sgn}(y)\left\lfloor \left|y\right|\right\rfloor =-\operatorname {sgn}(y)\left\lceil -\left|y\right|\right\rceil \,}

  • στρογγυλοποίηση μακριά από το μηδέν στρογγυλοποίηση προς το άπειρο): αν το y είναι ακέραιος αριθμός, το q είναι το y- αλλιώς, το q είναι ο πλησιέστερος στο 0 ακέραιος αριθμός που είναι τέτοιος ώστε το y να βρίσκεται μεταξύ του 0 και του q.

q = sgn ( y ) ⌈ | y | ⌉ = - sgn ( y ) ⌊ - | y | ⌋ {\displaystyle q=\operatorname {sgn}(y)\left\lceil \left|y\right|\right\rceil =-\operatorname {sgn}(y)\left\lfloor -\left|y\right|\right\rfloor \,} {\displaystyle q=\operatorname {sgn}(y)\left\lceil \left|y\right|\right\rceil =-\operatorname {sgn}(y)\left\lfloor -\left|y\right|\right\rfloor \,}

  • στρογγυλοποίηση στο πλησιέστερο: q είναι ο ακέραιος που είναι πλησιέστερος στο y (δείτε παρακάτω για τους κανόνες ισοπαλίας).

Οι τέσσερις πρώτες μέθοδοι ονομάζονται κατευθυνόμενη στρογγυλοποίηση, καθώς οι μετατοπίσεις από τον αρχικό αριθμό y στη στρογγυλοποιημένη τιμή q κατευθύνονται όλες προς ή από την ίδια οριακή τιμή (0, +∞ ή -∞).

Εάν το y είναι θετικό, η στρογγυλοποίηση προς τα κάτω είναι η ίδια με τη στρογγυλοποίηση προς το μηδέν και η στρογγυλοποίηση προς τα πάνω είναι η ίδια με τη στρογγυλοποίηση μακριά από το μηδέν. Εάν το y είναι αρνητικό, η στρογγυλοποίηση προς τα κάτω είναι η ίδια με τη στρογγυλοποίηση μακριά από το μηδέν και η στρογγυλοποίηση προς τα πάνω είναι η ίδια με τη στρογγυλοποίηση προς το μηδέν. Σε κάθε περίπτωση, αν το y είναι ακέραιος αριθμός, το q είναι απλώς y. Ο ακόλουθος πίνακας απεικονίζει αυτές τις μεθόδους στρογγυλοποίησης:

y

στρογγυλοποίηση
(προς το -∞)

Συγκέντρωση
(προς +∞)

στρογγυλοποίηση προς το μηδέν

στρογγυλοποίηση
από το μηδέν

roundtonearest

+23.67

+23

+24

+23

+24

+24

+23.50

+23

+24

+23

+24

+23 ή +24

+23.35

+23

+24

+23

+24

+23

+23.00

+23

+23

+23

+23

+23

0

0

0

0

0

0

−23.00

−23

−23

−23

−23

−23

−23.35

−24

−23

−23

−24

−23

−23.50

−24

−23

−23

−24

-23 ή -24

−23.67

−24

−23

−23

−24

−24

Όταν πολλοί υπολογισμοί γίνονται διαδοχικά, η επιλογή της μεθόδου στρογγυλοποίησης μπορεί να έχει πολύ σημαντική επίδραση στο αποτέλεσμα. Μια διάσημη περίπτωση αφορούσε έναν νέο δείκτη που δημιουργήθηκε από το Χρηματιστήριο του Βανκούβερ το 1982. Αρχικά ορίστηκε στις 1000.000 και μετά από 22 μήνες είχε πέσει στις 520 περίπου - ενώ οι τιμές των μετοχών είχαν γενικά αυξηθεί κατά την περίοδο αυτή. Το πρόβλημα οφειλόταν στο γεγονός ότι ο δείκτης υπολογιζόταν εκ νέου χιλιάδες φορές καθημερινά και στρογγυλοποιούνταν πάντα σε 3 δεκαδικά ψηφία, με αποτέλεσμα να συσσωρεύονται τα σφάλματα στρογγυλοποίησης. Ο επανυπολογισμός με καλύτερη στρογγυλοποίηση έδωσε τιμή δείκτη 1098,892 στο τέλος της ίδιας περιόδου.

Ισοπαλία

Η στρογγυλοποίηση ενός αριθμού y στον πλησιέστερο ακέραιο απαιτεί κάποιον κανόνα ισοπαλίας για τις περιπτώσεις που ο y βρίσκεται ακριβώς στο μέσο της απόστασης μεταξύ δύο ακεραίων αριθμών - δηλαδή όταν το κλασματικό μέρος του y είναι ακριβώς 0,5.

Στρογγυλό μισό προς τα πάνω

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

  • Εάν το κλάσμα του y είναι ακριβώς 0,5, τότε q = y + 0,5.

q = ⌊ y + 0,5 ⌋ = - ⌈ - y - 0,5 ⌉ {\displaystyle q=\left\lfloor y+0,5\right\rfloor =-\left\lceil -y-0,5\right\rceil \,} {\displaystyle q=\left\lfloor y+0.5\right\rfloor =-\left\lceil -y-0.5\right\rceil \,}

Για παράδειγμα, σύμφωνα με αυτόν τον κανόνα, η τιμή 23,5 στρογγυλοποιείται σε 24, αλλά το -23,5 στρογγυλοποιείται σε -23.

Αυτός είναι ένας από τους δύο κανόνες που διδάσκονται γενικά στα μαθήματα μαθηματικών της πρωτοβάθμιας εκπαίδευσης στις ΗΠΑ. []

Αν δεν υπήρχαν τα κλάσματα 0,5, τα σφάλματα στρογγυλοποίησης που εισάγει η μέθοδος στρογγυλοποίησης στο πλησιέστερο θα ήταν αρκετά συμμετρικά: για κάθε κλάσμα που στρογγυλοποιείται προς τα πάνω (όπως το 0,268), υπάρχει ένα συμπληρωματικό κλάσμα (δηλαδή το 0,732) που στρογγυλοποιείται προς τα κάτω, κατά το ίδιο ποσό. Κατά τη στρογγυλοποίηση ενός μεγάλου συνόλου αριθμών με τυχαία κλασματικά μέρη, αυτά τα σφάλματα στρογγυλοποίησης θα αντισταθμίζουν στατιστικά το ένα το άλλο, και η αναμενόμενη (μέση) τιμή των στρογγυλοποιημένων αριθμών θα είναι ίση με την αναμενόμενη τιμή των αρχικών αριθμών.

Ωστόσο, ο κανόνας στρογγυλοποίησης της ισοβαθμίας δεν είναι συμμετρικός, καθώς τα κλάσματα που είναι ακριβώς 0,5 στρογγυλοποιούνται πάντα προς τα πάνω. Αυτή η ασυμμετρία εισάγει μια θετική μεροληψία στα σφάλματα στρογγυλοποίησης. Για παράδειγμα, εάν το κλάσμα y αποτελείται από τρία τυχαία δεκαδικά ψηφία, τότε η αναμενόμενη τιμή του q θα είναι 0,0005 υψηλότερη από την αναμενόμενη τιμή του y. Για το λόγο αυτό, η στρογγυλοποίηση με τον κανόνα round half up είναι επίσης (διφορούμενα) γνωστή ως ασύμμετρη στρογγυλοποίηση.

Ένας λόγος για τη στρογγυλοποίηση στο 0,5 είναι ότι μόνο ένα ψηφίο χρειάζεται να εξεταστεί. Όταν βλέπετε 17,50000..., για παράδειγμα, τα τρία πρώτα ψηφία, 17,5, καθορίζουν ότι ο αριθμός θα στρογγυλοποιηθεί σε 18. Αν χρησιμοποιούνταν ο αντίθετος κανόνας (στρογγυλοποίηση κατά το ήμισυ προς τα κάτω), τότε θα έπρεπε να εξεταστούν όλα τα μηδενικά δεκαδικά ψηφία για να καθοριστεί αν η τιμή είναι ακριβώς 17,5.

Στρογγυλό μισό κάτω

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

  • Εάν το κλάσμα του y είναι ακριβώς 0,5, τότε q = y - 0,5.

q = ⌈ y - 0,5 ⌉ = - ⌊ - y + 0,5 ⌋ {\displaystyle q=\left\lceil y-0,5\right\rceil =-\left\lfloor -y+0,5\right\rfloor \,} {\displaystyle q=\left\lceil y-0.5\right\rceil =-\left\lfloor -y+0.5\right\rfloor \,}

Για παράδειγμα, το 23,5 στρογγυλοποιείται σε 23 και το -23,5 στρογγυλοποιείται σε -24.

Ο κανόνας στρογγυλοποίησης προς τα κάτω δεν είναι συμμετρικός, καθώς τα κλάσματα που είναι ακριβώς 0,5 στρογγυλοποιούνται πάντα προς τα κάτω. Αυτή η ασυμμετρία εισάγει μια αρνητική μεροληψία στα σφάλματα στρογγυλοποίησης. Για παράδειγμα, εάν το κλάσμα y αποτελείται από τρία τυχαία δεκαδικά ψηφία, τότε η αναμενόμενη τιμή του q θα είναι 0,0005 χαμηλότερη από την αναμενόμενη τιμή του y. Για το λόγο αυτό, η στρογγυλοποίηση με τον κανόνα round half down είναι επίσης (διφορούμενα) γνωστή ως ασύμμετρη στρογγυλοποίηση.

Στρογγυλό μισό μακριά από το μηδέν

Η άλλη μέθοδος ισοπαλίας που διδάσκεται και χρησιμοποιείται συνήθως είναι η στρογγυλοποίηση του μισού από το μηδένη στρογγυλοποίηση του μισού προς το άπειρο), δηλαδή:

  • Αν το κλάσμα του y είναι ακριβώς 0,5, τότε q = y + 0,5 αν το y είναι θετικό και q = y - 0,5 αν το y είναι αρνητικό.

q = sgn ( y ) ⌊ | y | + 0.5 ⌋ = - sgn ( y ) ⌈ - | y | - 0.5 ⌉ {\displaystyle q=\operatorname {sgn}(y)\left\lfloor \left|y\right|+0.5\right\rfloor =-\operatorname {sgn}(y)\left\lceil -\left|y\right|-0.5\right\rceil \,} {\displaystyle q=\operatorname {sgn}(y)\left\lfloor \left|y\right|+0.5\right\rfloor =-\operatorname {sgn}(y)\left\lceil -\left|y\right|-0.5\right\rceil \,}

Για παράδειγμα, το 23,5 στρογγυλοποιείται σε 24 και το -23,5 στρογγυλοποιείται σε -24.

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

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

Στρογγυλό μισό προς το μηδέν

Μπορεί επίσης να στρογγυλοποιήσει κανείς το μισό προς το μηδέν (ή να στρογγυλοποιήσει το μισό μακριά από το άπειρο) σε αντίθεση με την πιο κοινή μέθοδο στρογγυλοποίησης του μισού μακριά από το μηδέν (η μέθοδος στρογγυλοποίησης του μισού μακριά από το μηδέν είναι μια κοινή σύμβαση, αλλά δεν είναι τίποτα περισσότερο από μια σύμβαση).

  • Αν το κλάσμα του y είναι ακριβώς 0,5, τότε q = y - 0,5 αν το y είναι θετικό και q = y + 0,5 αν το y είναι αρνητικό.

q = sgn ( y ) ⌈ | y | - 0.5 ⌉ = - sgn ( y ) ⌊ - | y | + 0.5 ⌋ {\displaystyle q=\operatorname {sgn}(y)\left\lceil \left|y\right|-0.5\right\rceil =-\operatorname {sgn}(y)\left\lfloor -\left|y\right|+0.5\right\rfloor \,} {\displaystyle q=\operatorname {sgn}(y)\left\lceil \left|y\right|-0.5\right\rceil =-\operatorname {sgn}(y)\left\lfloor -\left|y\right|+0.5\right\rfloor \,}

Για παράδειγμα, το 23,5 στρογγυλοποιείται σε 23 και το -23,5 στρογγυλοποιείται σε -23.

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

Στρογγυλοποιήστε το μισό σε ζυγό

Ένας κανόνας ισοπαλίας που είναι ακόμη λιγότερο προκατειλημμένος είναι ο στρογγυλός μισός προς ίσο, δηλαδή

  • Εάν το κλάσμα του y είναι 0,5, τότε q είναι ο ζυγός ακέραιος αριθμός που βρίσκεται πλησιέστερα στο y.

Έτσι, για παράδειγμα, το +23,5 γίνεται +24, το +22,5 γίνεται +22, το -22,5 γίνεται -22 και το -23,5 γίνεται -24.

Η μέθοδος αυτή αντιμετωπίζει επίσης συμμετρικά τις θετικές και τις αρνητικές τιμές και, επομένως, είναι απαλλαγμένη από συνολική μεροληψία εάν οι αρχικοί αριθμοί είναι θετικοί ή αρνητικοί με ίση πιθανότητα. Επιπλέον, για τις περισσότερες λογικές κατανομές των τιμών y, η αναμενόμενη (μέση) τιμή των στρογγυλοποιημένων αριθμών είναι ουσιαστικά η ίδια με εκείνη των αρχικών αριθμών, ακόμη και αν οι τελευταίοι είναι όλοι θετικοί (ή όλοι αρνητικοί). Ωστόσο, ο κανόνας αυτός εξακολουθεί να εισάγει μια θετική μεροληψία για τους ζυγούς αριθμούς (συμπεριλαμβανομένου του μηδενός) και μια αρνητική μεροληψία για τους περιττούς.

Αυτή η παραλλαγή της μεθόδου round-to-nearest ονομάζεται επίσης μη προκατειλημμένη στρογγυλοποίηση (διφορούμενα και λίγο καταχρηστικά), συγκλίνουσα στρογγυλοποίηση, στρογγυλοποίηση στατιστικολόγων, ολλανδική στρογγυλοποίηση, γκαουσιανή στρογγυλοποίηση ή στρογγυλοποίηση τραπεζιτών. Αυτή η στρογγυλοποίηση χρησιμοποιείται ευρέως στη λογιστική.

Αυτός είναι ο προεπιλεγμένος τρόπος στρογγυλοποίησης που χρησιμοποιείται στις υπολογιστικές συναρτήσεις και τους τελεστές IEEE 754.

Στρογγυλό μισό σε μονό

Ένας άλλος κανόνας ισοπαλίας που μοιάζει πολύ με τον κανόνα round half to even, δηλαδή

  • Εάν το κλάσμα του y είναι 0,5, τότε q είναι ο μονός ακέραιος αριθμός που βρίσκεται πλησιέστερα στο y.

Έτσι, για παράδειγμα, το +22,5 γίνεται +23, το +21,5 γίνεται +21, το -21,5 γίνεται -21 και το -22,5 γίνεται -23.

Η μέθοδος αυτή αντιμετωπίζει επίσης συμμετρικά τις θετικές και τις αρνητικές τιμές και, επομένως, είναι απαλλαγμένη από συνολική μεροληψία εάν οι αρχικοί αριθμοί είναι θετικοί ή αρνητικοί με ίση πιθανότητα. Επιπλέον, για τις περισσότερες λογικές κατανομές των τιμών y, η αναμενόμενη (μέση) τιμή των στρογγυλοποιημένων αριθμών είναι ουσιαστικά η ίδια με εκείνη των αρχικών αριθμών, ακόμη και αν οι τελευταίοι είναι όλοι θετικοί (ή όλοι αρνητικοί). Ωστόσο, ο κανόνας αυτός εξακολουθεί να εισάγει μια αρνητική μεροληψία για τους ζυγούς αριθμούς (συμπεριλαμβανομένου του μηδενός) και μια θετική μεροληψία για τους περιττούς.

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

Στοχαστική στρογγυλοποίηση

Μια άλλη αμερόληπτη μέθοδος ισοπαλίας είναι η στοχαστική στρογγυλοποίηση:

  • Αν το κλασματικό μέρος του y είναι 0,5, επιλέξτε q τυχαία μεταξύ y + 0,5 και y - 0,5, με ίση πιθανότητα.

Όπως και ο κανόνας round-half-to-even, αυτός ο κανόνας είναι ουσιαστικά απαλλαγμένος από συνολική μεροληψία, αλλά είναι επίσης δίκαιος μεταξύ ζυγών και περιττών τιμών q. Από την άλλη πλευρά, εισάγει μια τυχαία συνιστώσα στο αποτέλεσμα- η εκτέλεση του ίδιου υπολογισμού δύο φορές στα ίδια δεδομένα μπορεί να δώσει δύο διαφορετικά αποτελέσματα. Επίσης, είναι ανοιχτή σε ασυνείδητη μεροληψία εάν οι άνθρωποι (και όχι οι υπολογιστές ή οι συσκευές της τύχης) αποφασίζουν "τυχαία" προς ποια κατεύθυνση θα στρογγυλοποιήσουν.

Εναλλασσόμενη ισοπαλία

Μια μέθοδος, πιο σκοτεινή από τις περισσότερες, είναι η στρογγυλή μισή εναλλάξ.

  • Εάν το κλασματικό μέρος είναι 0,5, στρογγυλοποιήστε εναλλάξ προς τα πάνω και προς τα κάτω: για την πρώτη εμφάνιση ενός κλασματικού μέρους 0,5, στρογγυλοποιήστε προς τα πάνω- για τη δεύτερη εμφάνιση, στρογγυλοποιήστε προς τα κάτω- και ούτω καθεξής.

Αυτό καταστέλλει την τυχαία συνιστώσα του αποτελέσματος, εάν οι εμφανίσεις κλασματικών μερών 0,5 μπορούν να αριθμηθούν αποτελεσματικά. Αλλά μπορεί ακόμα να εισάγει μια θετική ή αρνητική μεροληψία ανάλογα με την κατεύθυνση της στρογγυλοποίησης που αποδίδεται στην πρώτη εμφάνιση, εάν ο συνολικός αριθμός των εμφανίσεων είναι περιττός.

Απλό dithering

Σε ορισμένες περιπτώσεις, όλες οι παραπάνω μέθοδοι στρογγυλοποίησης μπορεί να μην είναι ικανοποιητικές. Για παράδειγμα, ας υποθέσουμε ότι το y είναι μια ακριβής μέτρηση ενός ηχητικού σήματος, το οποίο στρογγυλοποιείται σε έναν ακέραιο αριθμό q προκειμένου να μειωθεί το κόστος αποθήκευσης ή μετάδοσης. Εάν το y μεταβάλλεται αργά με το χρόνο, οποιαδήποτε από τις παραπάνω μεθόδους στρογγυλοποίησης θα έχει ως αποτέλεσμα το q να είναι εντελώς σταθερό για μεγάλα χρονικά διαστήματα, τα οποία θα χωρίζονται από ξαφνικά άλματα της τάξης του ±1. Όταν το σήμα q αναπαράγεται, αυτά τα βήματα θα ακούγονται ως ένας πολύ δυσάρεστος θόρυβος και οποιεσδήποτε μεταβολές του αρχικού σήματος μεταξύ δύο ακέραιων τιμών θα χάνονται εντελώς.

Ένας τρόπος για να αποφευχθεί αυτό το πρόβλημα είναι να στρογγυλοποιείται κάθε τιμή y προς τα πάνω με πιθανότητα ίση με το κλάσμα της και να στρογγυλοποιείται προς τα κάτω με το συμπλήρωμα αυτής της πιθανότητας. Για παράδειγμα, ο αριθμός 23,17 θα στρογγυλοποιηθεί προς τα πάνω σε 24 με πιθανότητα 0,17 και προς τα κάτω σε 23 με πιθανότητα 1 - 0,17 = 0,83. (Αυτό ισοδυναμεί με στρογγυλοποίηση προς τα κάτω y + s, όπου s είναι ένας τυχαίος αριθμός ομοιόμορφα κατανεμημένος μεταξύ 0 και 1). Με αυτή την ειδική στρογγυλοποίηση, γνωστή ως dithering, τα ξαφνικά βήματα αντικαθίστανται από έναν λιγότερο ενοχλητικό θόρυβο, και ακόμη και μικρές μεταβολές στο αρχικό σήμα θα διατηρηθούν σε κάποιο βαθμό. Όπως και η στοχαστική προσέγγιση για το σπάσιμο της ισοπαλίας, το dithering δεν έχει προκατάληψη: αν όλες οι τιμές του κλάσματος είναι εξίσου πιθανές, η στρογγυλοποίηση προς τα πάνω κατά ένα ορισμένο ποσό είναι εξίσου πιθανή με τη στρογγυλοποίηση προς τα κάτω κατά το ίδιο ποσό- και το ίδιο ισχύει και για το άθροισμα πολλών στρογγυλοποιημένων αριθμών. Από την άλλη πλευρά, η αποσυντονισμός εισάγει μια τυχαία συνιστώσα στο αποτέλεσμα, πολύ μεγαλύτερη από εκείνη της στοχαστικής ισοπαλίας.

Πιο συγκεκριμένα, το σφάλμα στρογγυλοποίησης για κάθε αριθμό που στρογγυλοποιείται θα είναι μια ομοιόμορφα κατανεμημένη τυχαία μεταβλητή με μέση τιμή μηδέν, αλλά με τυπική απόκλιση 1 / 12 ≈ 0.2886 {\displaystyle 1/{\sqrt {12}}\approx 0.2886} {\displaystyle 1/{\sqrt {12}}\approx 0.2886}, η οποία είναι καλύτερη από την τυπική απόκλιση 1/2 με τις απλές μεθόδους πρόβλεψης, αλλά ελαφρώς υψηλότερη από την απλούστερη στοχαστική μέθοδο. Ωστόσο, το άθροισμα των n στρογγυλοποιημένων αριθμών θα είναι μια τυχαία μεταβλητή με αναμενόμενο σφάλμα μηδέν, αλλά με τυπική απόκλιση n / 12 {\displaystyle {\sqrt {n}}/{\sqrt {12}}} {\displaystyle {\sqrt {n}}/{\sqrt {12}}}(ο συνολικός θόρυβος που απομένει) η οποία αποκλίνει ημιτετραγωνικά και μπορεί να γίνει εύκολα αντιληπτή, ακόμη και αν η τυπική απόκλιση του σφάλματος στρογγυλοποίησης ανά δείγμα θα είναι 1 / 12 n {\displaystyle 1/{\sqrt {12n}}}{\displaystyle 1/{\sqrt {12n}}} η οποία συγκλίνει αργά ημιτετραγωνικά στο μηδέν. Έτσι, αυτή η τυχαία κατανομή μπορεί να εξακολουθεί να είναι πολύ υψηλή για ορισμένες εφαρμογές που στρογγυλοποιούν πολλά δεδομένα.

Πολυδιάστατη αποθορυβοποίηση

Αυτή η παραλλαγή της απλής μεθόδου dithering εξακολουθεί να στρογγυλοποιεί τις τιμές με πιθανότητα ίση με το κλάσμα της. Ωστόσο, αντί να χρησιμοποιείται μια τυχαία κατανομή για τη στρογγυλοποίηση απομονωμένων δειγμάτων, το σφάλμα στρογγυλοποίησης που εμφανίζεται σε κάθε στρογγυλοποιημένο δείγμα αθροίζεται για τα επόμενα περιβάλλοντα στοιχεία που πρόκειται να δειγματοληφθούν ή να υπολογιστούν- αυτή η συσσωρευμένη τιμή προστίθεται στη συνέχεια στην τιμή αυτών των επόμενων δειγματοληπτούμενων ή υπολογιζόμενων τιμών προς στρογγυλοποίηση, έτσι ώστε οι τροποποιημένες τιμές να λαμβάνουν υπόψη αυτή τη διαφορά χρησιμοποιώντας ένα προγνωστικό μοντέλο (όπως το Floyd-Steinberg dithering).

Οι τροποποιημένες τιμές στρογγυλοποιούνται στη συνέχεια με οποιαδήποτε από τις παραπάνω μεθόδους στρογγυλοποίησης, με καλύτερες τις στοχαστικές μεθόδους ή τις μεθόδους dithering: στην τελευταία περίπτωση, το άθροισμα των n στρογγυλοποιημένων αριθμών θα εξακολουθεί να είναι μια τυχαία μεταβλητή με αναμενόμενο σφάλμα μηδέν, αλλά με μια εξαιρετική σταθερή τυπική απόκλιση 1 / 12 {\displaystyle 1/{\sqrt {12}} {\displaystyle 1/{\sqrt {12}}}, αντί να αποκλίνει ημι-υπερβολικά κατά την απομόνωση απομονωμένων δειγμάτων- και η συνολική μέση απόκλιση σφάλματος στρογγυλοποίησης ανά στρογγυλοποιημένο δείγμα θα είναι 1 / ( n 12 ) {\displaystyle 1/(n{\sqrt {12}})}{\displaystyle 1/(n{\sqrt {12}})} που θα συγκλίνει υπερβολικά στο μηδέν, ταχύτερα από ό,τι με την ημι-υπερβολική σύγκλιση κατά την απομόνωση απομονωμένων δειγμάτων.

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

Η αποτελεσματική διάδοση των συσσωρευμένων σφαλμάτων στρογγυλοποίησης μπορεί να εξαρτάται από τη διακριτή διάσταση των δειγματοληπτούμενων δεδομένων προς στρογγυλοποίηση: κατά τη δειγματοληψία δισδιάστατων εικόνων, συμπεριλαμβανομένων έγχρωμων εικόνων (που προσθέτουν τη διακριτή διάσταση των χρωματικών επιπέδων), ή τρισδιάστατων βίντεο (που προσθέτουν μια διακριτή διάσταση χρόνου), ή σε πολυφωνικά δεδομένα ήχου (που χρησιμοποιούν διακριτές διαστάσεις χρόνου και καναλιών), μπορεί ακόμα να είναι προτιμότερο να διαδίδεται αυτό το σφάλμα σε μια προτιμώμενη κατεύθυνση, ή εξίσου σε διάφορες ορθογώνιες διαστάσεις, όπως κάθετα έναντι. οριζόντια για δισδιάστατες εικόνες, ή σε παράλληλα χρωματικά κανάλια στην ίδια θέση ή/και χρονοσήμανση, και ανάλογα με άλλες ιδιότητες αυτών των ορθογώνιων διακριτών διαστάσεων (σύμφωνα με ένα μοντέλο αντίληψης). Σε αυτές τις περιπτώσεις, μπορούν να χρησιμοποιηθούν αρκετοί συσσωρευτές σφαλμάτων στρογγυλοποίησης (τουλάχιστον ένας για κάθε διακριτή διάσταση) ή ένα διάνυσμα (ή πίνακας) συσσωρευτών (n-1) διαστάσεων.

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

Στρογγυλοποίηση σε απλά κλάσματα

Σε ορισμένες περιπτώσεις είναι επιθυμητό να στρογγυλοποιηθεί ένας δεδομένος αριθμός x σε ένα "καθαρό" κλάσμα - δηλαδή στο πλησιέστερο κλάσμα z = m/n του οποίου ο αριθμητής m και ο παρονομαστής n δεν υπερβαίνουν ένα δεδομένο μέγιστο. Αυτό το πρόβλημα είναι αρκετά διαφορετικό από εκείνο της στρογγυλοποίησης μιας τιμής σε ένα σταθερό αριθμό δεκαδικών ή δυαδικών ψηφίων ή σε ένα πολλαπλάσιο μιας δεδομένης μονάδας m. Αυτό το πρόβλημα σχετίζεται με τις ακολουθίες Farey, το δέντρο Stern-Brocot και τα συνεχιζόμενα κλάσματα.

Κλιμακωτή στρογγυλοποίηση

Αυτός ο τύπος στρογγυλοποίησης, ο οποίος ονομάζεται επίσης στρογγυλοποίηση σε λογαριθμική κλίμακα, είναι μια παραλλαγή της στρογγυλοποίησης σε μια καθορισμένη προσαύξηση, αλλά με μια προσαύξηση που τροποποιείται ανάλογα με την κλίμακα και το μέγεθος του αποτελέσματος. Συγκεκριμένα, η πρόθεση είναι να περιοριστεί ο αριθμός των σημαντικών ψηφίων, στρογγυλοποιώντας την τιμή έτσι ώστε να παραλείπονται τα μη σημαντικά ψηφία. Αυτός ο τύπος στρογγυλοποίησης συμβαίνει σιωπηρά με αριθμούς που υπολογίζονται με τιμές κινητής υποδιαστολής με περιορισμένη ακρίβεια (όπως οι τύποι float και double του IEEE-754), αλλά μπορεί να χρησιμοποιηθεί γενικότερα για τη στρογγυλοποίηση οποιωνδήποτε πραγματικών τιμών με οποιονδήποτε θετικό αριθμό σημαντικών ψηφίων και οποιαδήποτε αυστηρά θετική πραγματική βάση.

Για παράδειγμα, μπορεί να χρησιμοποιηθεί στα τεχνικά γραφικά για την αναπαράσταση δεδομένων με λογαριθμική κλίμακα με μεταβλητά βήματα (για παράδειγμα τα μήκη κύματος, των οποίων η βάση δεν είναι απαραίτητα ακέραιο μέτρο), ή σε στατιστικά δεδομένα για τον ορισμό κλάσεων πραγματικών τιμών εντός διαστημάτων εκθετικά αυξανόμενου πλάτους (αλλά η πιο συνηθισμένη χρήση είναι με ακέραιες βάσεις όπως το 10 ή το 2). [πηγή;]

Αυτός ο τύπος στρογγυλοποίησης βασίζεται σε μια λογαριθμική κλίμακα που ορίζεται από έναν σταθερό μη μηδενικό πραγματικό συντελεστή κλιμάκωσης s (στις πιο συχνές περιπτώσεις ο συντελεστής αυτός είναι s=1) και μια σταθερή θετική βάση b>1 (όχι απαραίτητα ακέραιη και τις περισσότερες φορές διαφορετική από τον συντελεστή κλιμάκωσης), και έναν σταθερό ακέραιο αριθμό n>0 σημαντικών ψηφίων σε αυτή τη βάση (ο οποίος θα καθορίσει την τιμή της προσαύξησης που θα χρησιμοποιηθεί για τη στρογγυλοποίηση, μαζί με την υπολογισμένη πραγματική κλίμακα του στρογγυλοποιημένου αριθμού).

Ο αριθμός του πρωτεύοντος επιχειρήματος (καθώς και ο προκύπτων στρογγυλοποιημένος αριθμός) αναπαρίσταται πρώτα σε εκθετικό συμβολισμό x = s-a-m-bc, έτσι ώστε το πρόσημο s να είναι είτε +1 είτε -1, η απόλυτη μάντισσα a να περιορίζεται στο μισοανοικτό θετικό διάστημα [1/b,1] και ο εκθέτης c να είναι οποιοσδήποτε (θετικός ή αρνητικός) ακέραιος. Σε αυτή την αναπαράσταση, όλα τα σημαντικά ψηφία βρίσκονται στο κλασματικό μέρος της απόλυτης μάντισσας, της οποίας το ακέραιο μέρος είναι πάντα μηδέν.

Εάν ο αρχικός αριθμός (ή ο στρογγυλοποιημένος αριθμός) είναι 0, η απόλυτη μαντίσα a ορίζεται ως 0, ο εκθέτης c καθορίζεται σε μια αυθαίρετη τιμή (0 στις περισσότερες συμβάσεις, αλλά ορισμένες αναπαραστάσεις κινητής υποδιαστολής δεν μπορούν να χρησιμοποιήσουν μηδενική απόλυτη μαντίσα, αλλά διατηρούν μια συγκεκριμένη μέγιστη αρνητική τιμή για τον εκθέτη c για την αναπαράσταση του ίδιου του αριθμού 0), και το πρόσημο s μπορεί να επιλεγεί αυθαίρετα μεταξύ -1 ή +1 (γενικά ορίζεται στο +1 για το απλό μηδέν, ή ορίζεται στο ίδιο πρόσημο με το όρισμα στη στρογγυλοποιημένη τιμή, εάν η αναπαράσταση αριθμού επιτρέπει τη διάκριση θετικών και αρνητικών μηδενικών, ακόμη και αν τελικά αναπαριστούν την ίδια αριθμητική τιμή 0).

Μια κλιμακωτή εκθετική αναπαράσταση ως x = a-s-bc μπορεί επίσης να χρησιμοποιηθεί ισοδύναμα, με μια προσημασμένη μαντίσα a είτε ίση με το μηδέν είτε εντός ενός από τα δύο ημι-ανοικτά διαστήματα (-1,-1/b] και [+1/b,+1), και αυτό θα συμβεί στον αλγόριθμο που ακολουθεί.

Τα βήματα για τον υπολογισμό αυτής της κλιμακωτής στρογγυλοποίησης είναι γενικά παρόμοια με τα ακόλουθα:

  1. αν το x ισούται με μηδέν, απλά επιστρέφετε το x- διαφορετικά:
  2. μετατρέπει το x στην κλιμακωτή εκθετική αναπαράσταση, με προσημασμένη μάντισσα:
    x = a
    s b c {\displaystyle x=a\cdot s\cdot b^{c}\,} {\displaystyle x=a\cdot s\cdot b^{c}\,}
    1. έστω x' η μη κλιμακωτή τιμή του x, διαιρώντας την με τον συντελεστή κλιμάκωσης s:
      x ′ = x / s {\displaystyle x'=x/s\,}
      {\displaystyle x'=x/s\,} ,
    2. ο εκθέτης κλιμάκωσης c ας είναι ένα συν ο λογάριθμος βάσης-b της απόλυτης τιμής του x', στρογγυλοποιημένος σε ακέραιο αριθμό (προς το άπειρο):
      c = 1 + ⌊ log b | x ′ | ⌋ = 1 + ⌊ log b | x / s | ⌋ {\displaystyle c=1+\left\lfloor \log _{b}\left|x'\right|\right\rfloor =1+\left\lfloor \log _{b}\left|x/s\right|\right\rfloor \,}
      {\displaystyle c=1+\left\lfloor \log _{b}\left|x'\right|\right\rfloor =1+\left\lfloor \log _{b}\left|x/s\right|\right\rfloor \,} ,
    3. η προσημασμένη μάντισσα a ας είναι το γινόμενο του x' διαιρεμένο με το b στη δύναμη c:
      a = x ′
      b - c = x / s b - c {\displaystyle a=x'\cdot b^{-c}=x/s\cdot b^{-c}\,} {\displaystyle a=x'\cdot b^{-c}=x/s\cdot b^{-c}\,}
  3. υπολογίστε τη στρογγυλοποιημένη τιμή σε αυτή την αναπαράσταση:
    1. έστω c' ο αρχικός εκθέτης c κλιμάκωσης του x':
      c ′ = c {\displaystyle c'=c\,}
      {\displaystyle c'=c\,}
    2. έστω m η προσαύξηση για τη στρογγυλοποίηση της μάντισσας a ανάλογα με τον αριθμό των σημαντικών ψηφίων που πρέπει να διατηρηθούν:
      m = b - n {\displaystyle m=b^{-n}\,}
      {\displaystyle m=b^{-n}\,}
    3. έστω a' η προσημασμένη μάντισσα a στρογγυλοποιημένη σύμφωνα με την αύξηση m και τον επιλεγμένο τρόπο στρογγυλοποίησης:
      a ′ = r o u n d ( a , m ) = r o u n d ( x / s
      b n - c ′ ) b - n {\displaystyle a'=\mathrm {round} (a,m)=\mathrm {round} (x/s\cdot b^{n-c'})\cdot b^{-n}\,} {\displaystyle a'=\mathrm {round} (a,m)=\mathrm {round} (x/s\cdot b^{n-c'})\cdot b^{-n}\,}
    4. εάν η απόλυτη τιμή του a' δεν είναι μικρότερη από το b, τότε μειώστε το n (πολλαπλασιάστε την αύξηση m με το b), αυξήστε τον εκθέτη κλιμάκωσης c', διαιρέστε την προσημασμένη μαντίζα a με το b και ξεκινήστε εκ νέου τη στρογγυλοποίηση της νέας προσημασμένης μαντίτσας a στο a' με τον ίδιο τύπο- αυτό το βήμα μπορεί να αποφευχθεί μόνο εάν η συνάρτηση abtract "round()" στρογγυλοποιεί πάντα το a προς το 0 (i.δηλ. όταν πρόκειται για απλή αποκοπή), αλλά είναι απαραίτητη εάν μπορεί να στρογγυλοποιεί το a προς το άπειρο, επειδή η στρογγυλοποιημένη mantissa μπορεί να έχει υψηλότερο εκθέτη κλιμάκωσης σε αυτή την περίπτωση, αφήνοντας ένα επιπλέον ψηφίο ακρίβειας.
  4. επιστρέφει τη στρογγυλοποιημένη τιμή:
    y = s c a l e d r o u n d ( x , s , b , n ) = a ′
    s b c ′ = r o u n d ( x / s b n - c ′ ) s b c ′ - n {\displaystyle y=\mathrm {scaledround} (x,s,b,n)=a'\cdot s\cdot b^{c'}=\mathrm {round} (x/s\cdot b^{n-c'})\cdot s\cdot b^{c'-n}\,} {\displaystyle y=\mathrm {scaledround} (x,s,b,n)=a'\cdot s\cdot b^{c'}=\mathrm {round} (x/s\cdot b^{n-c'})\cdot s\cdot b^{c'-n}\,}.

Για την αφηρημένη συνάρτηση "round()", αυτός ο τύπος στρογγυλοποίησης μπορεί να χρησιμοποιήσει οποιονδήποτε από τους τρόπους στρογγυλοποίησης σε ακέραιους αριθμούς που περιγράφονται αναλυτικότερα στην επόμενη ενότητα, αλλά πιο συχνά είναι ο τρόπος στρογγυλοποίησης στην πλησιέστερη τιμή (με κανόνες ισοπαλίας που περιγράφονται επίσης αναλυτικότερα παρακάτω).

Για παράδειγμα:

  • η κλιμακωτή στρογγυλοποίηση του 1,234 με συντελεστή κλιμάκωσης 1 στη βάση 10 και 3 σημαντικά ψηφία (μέγιστη σχετική ακρίβεια=1/1000), όταν χρησιμοποιείται οποιαδήποτε λειτουργία στρογγυλοποίησης στο πλησιέστερο, θα επιστρέψει 1,23,
  • παρόμοια κλιμακωτή στρογγυλοποίηση του 1,236 θα επιστρέψει 1,24,
  • παρόμοια κλιμακωτή στρογγυλοποίηση του 21.236 θα επιστρέψει 21.2,
  • παρόμοια κλιμακωτή στρογγυλοποίηση του 321.236 θα επιστρέψει 321,
  • η κλιμακωτή στρογγυλοποίηση του συντελεστή κλιμάκωσης 1,234 στη βάση 10 και σε 3 σημαντικά ψηφία (μέγιστη σχετική ακρίβεια=1/1000), όταν χρησιμοποιείται η λειτουργία στρογγυλοποίησης προς τα κάτω, θα επιστρέψει 1,23,
  • παρόμοια κλιμακωτή στρογγυλοποίηση του 1,236 θα επιστρέψει επίσης 1,23,
  • η κλιμακωτή στρογγυλοποίηση του 3 π / 7 ≈ 6,8571 π 2 - 4 {\displaystyle \scriptstyle 3\pi /7\;\approx \;6.8571\cdot \pi \cdot 2^{-4}}{\displaystyle \scriptstyle 3\pi /7\;\approx \;6.8571\cdot \pi \cdot 2^{-4}} με συντελεστή κλιμάκωσης π {\displaystyle \scriptstyle \pi } {\displaystyle \scriptstyle \pi }στη βάση 2 και 3 σημαντικά ψηφία (μέγιστη σχετική ακρίβεια=1/8), όταν χρησιμοποιείται η λειτουργία στρογγυλοποίησης προς τα κάτω, θα επιστρέψει 6 π 2 - 4 = 3 π / 8 {\displaystyle \scriptstyle 6\cdot \pi \cdot 2^{-4}\;=\;3\pi /8}{\displaystyle \scriptstyle 6\cdot \pi \cdot 2^{-4}\;=\;3\pi /8} ,
  • παρόμοια κλιμακωτή στρογγυλοποίηση του 5 π / 7 ≈ 5,7143 π 2 - 3 {\displaystyle \scriptstyle 5\pi /7\;\approx \;5.7143\cdot \pi \cdot 2^{-3}}{\displaystyle \scriptstyle 5\pi /7\;\approx \;5.7143\cdot \pi \cdot 2^{-3}} θα επιστρέψει 5 π 2 - 3 = 5 π / 8 {\displaystyle \scriptstyle 5\cdot \pi \cdot 2^{-3}\;=\;5\pi /8}} {\displaystyle \scriptstyle 5\cdot \pi \cdot 2^{-3}\;=\;5\pi /8}
  • παρόμοια κλιμακωτή στρογγυλοποίηση του π / 7 ≈ 4.5714 π 2 - 5 {\displaystyle \scriptstyle \pi /7\;\approx \;4.5714\cdot \pi \cdot 2^{-5}}{\displaystyle \scriptstyle \pi /7\;\approx \;4.5714\cdot \pi \cdot 2^{-5}} θα επιστρέψει 4 π 2 - 5 = π / 8 {\displaystyle \scriptstyle 4\cdot \pi \cdot 2^{-5}\;=\;\pi /8} {\displaystyle \scriptstyle 4\cdot \pi \cdot 2^{-5}\;=\;\pi /8}
  • παρόμοια κλιμακωτή στρογγυλοποίηση του π / 8 = 4 π 2 - 5 {\displaystyle \scriptstyle \pi /8\;=\;4\cdot \pi \cdot 2^{-5}}{\displaystyle \scriptstyle \pi /8\;=\;4\cdot \pi \cdot 2^{-5}} θα επιστρέψει επίσης 4 π 2 - 5 = π / 8 {\displaystyle \scriptstyle 4\cdot \pi \cdot 2^{-5}\;=\;\pi /8}{\displaystyle \scriptstyle 4\cdot \pi \cdot 2^{-5}\;=\;\pi /8} .
  • παρόμοια κλιμακωτή στρογγυλοποίηση του π / 15 ≈ 4.2667 π 2 - 6 {\displaystyle \scriptstyle \pi /15\;\approx \;4.2667\cdot \pi \cdot 2^{-6}}{\displaystyle \scriptstyle \pi /15\;\approx \;4.2667\cdot \pi \cdot 2^{-6}} θα επιστρέψει 4 π 2 - 6 = π / 16 {\displaystyle \scriptstyle 4\cdot \pi \cdot 2^{-6}\;=\;\pi /16}} {\displaystyle \scriptstyle 4\cdot \pi \cdot 2^{-6}\;=\;\pi /16}.

Στρογγυλοποίηση στη διαθέσιμη τιμή

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

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

Όταν ένα σύνολο προτιμώμενων τιμών απέχει ίσα μεταξύ τους σε μια λογαριθμική κλίμακα, η επιλογή της πλησιέστερης προτιμώμενης τιμής σε οποιαδήποτε δεδομένη τιμή μπορεί να θεωρηθεί ως ένα είδος κλιμακωτής στρογγυλοποίησης. Τέτοιες "στρογγυλοποιημένες" τιμές μπορούν να υπολογιστούν άμεσα.

Στρογγυλοποίηση κινητής υποδιαστολής

Στην αριθμητική κινητής υποδιαστολής, η στρογγυλοποίηση αποσκοπεί στο να μετατρέψει μια δεδομένη τιμή x σε μια τιμή z με καθορισμένο αριθμό σημαντικών ψηφίων. Με άλλα λόγια, το z πρέπει να είναι πολλαπλάσιο ενός αριθμού m που εξαρτάται από το μέγεθος του z. Ο αριθμός m είναι μια δύναμη της βάσης (συνήθως 2 ή 10) της μορφής κινητής υποδιαστολής.

Εκτός από αυτή τη λεπτομέρεια, όλες οι παραλλαγές στρογγυλοποίησης που συζητήθηκαν παραπάνω ισχύουν και για τη στρογγυλοποίηση αριθμών κινητής υποδιαστολής. Ο αλγόριθμος για μια τέτοια στρογγυλοποίηση παρουσιάζεται στην παραπάνω ενότητα Κλιμακωτή στρογγυλοποίηση, αλλά με σταθερό συντελεστή κλιμάκωσης s=1 και ακέραια βάση b>1.

Για αποτελέσματα όπου το στρογγυλοποιημένο αποτέλεσμα θα υπερχείλιζε, το αποτέλεσμα για μια κατευθυνόμενη στρογγυλοποίηση είναι είτε το κατάλληλο προσημασμένο άπειρο, είτε ο υψηλότερος αναπαραγώγιμος θετικός πεπερασμένος αριθμός (ή ο χαμηλότερος αναπαραγώγιμος αρνητικός πεπερασμένος αριθμός αν το x είναι αρνητικό), ανάλογα με την κατεύθυνση της στρογγυλοποίησης. Το αποτέλεσμα μιας υπερχείλισης για τη συνήθη περίπτωση στρογγυλοποίησης σε ζυγό είναι πάντα το κατάλληλο άπειρο.

Επιπλέον, εάν το στρογγυλοποιημένο αποτέλεσμα θα υπολείπεται της ροής, δηλ. εάν ο εκθέτης θα υπερέβαινε τη χαμηλότερη αναπαραστάσιμη ακέραια τιμή, το πραγματικό αποτέλεσμα μπορεί να είναι είτε μηδέν (ενδεχομένως με πρόσημο, εάν η αναπαράσταση μπορεί να διατηρήσει διάκριση των προσήμων για τα μηδενικά), είτε ο μικρότερος αναπαραστάσιμος θετικός πεπερασμένος αριθμός (ή ο μεγαλύτερος αναπαραστάσιμος αρνητικός πεπερασμένος αριθμός εάν το x είναι αρνητικό), ενδεχομένως ένας μη κανονικός θετικός ή αρνητικός αριθμός (εάν η μάντισσα αποθηκεύει όλα τα σημαντικά ψηφία της, οπότε το πιο σημαντικό ψηφίο μπορεί να αποθηκευτεί ακόμα σε χαμηλότερη θέση θέτοντας τα υψηλότερα αποθηκευμένα ψηφία στο μηδέν, και αυτή η αποθηκευμένη μαντίσα δεν ρίχνει το πιο σημαντικό ψηφίο, κάτι που είναι δυνατό όταν η βάση b=2 επειδή το πιο σημαντικό ψηφίο είναι πάντα 1 σε αυτή τη βάση), ανάλογα με την κατεύθυνση της στρογγυλοποίησης. Το αποτέλεσμα μιας υποεκροής για τη συνήθη περίπτωση στρογγυλοποίησης σε ζυγό είναι πάντα το κατάλληλο μηδέν.

Διπλή στρογγυλοποίηση

Η στρογγυλοποίηση ενός αριθμού δύο φορές διαδοχικά σε διαφορετικές ακρίβειες, με τη δεύτερη ακρίβεια να είναι πιο χονδροειδής, δεν εγγυάται ότι θα δώσει το ίδιο αποτέλεσμα με τη στρογγυλοποίηση μία φορά στην τελική ακρίβεια, εκτός από την περίπτωση της κατευθυνόμενης στρογγυλοποίησης. Για παράδειγμα, η στρογγυλοποίηση του 9,46 σε ένα δεκαδικό ψηφίο δίνει 9,5 και στη συνέχεια 10 όταν στρογγυλοποιείται σε ακέραιο αριθμό χρησιμοποιώντας στρογγυλοποίηση κατά το ήμισυ σε ζυγό, αλλά θα έδινε 9 όταν στρογγυλοποιείται απευθείας σε ακέραιο αριθμό.

Ορισμένες γλώσσες υπολογιστών και το πρότυπο IEEE 754-2008 υπαγορεύουν ότι σε απλούς υπολογισμούς, το αποτέλεσμα δεν πρέπει να στρογγυλοποιείται δύο φορές. Αυτό ήταν ένα ιδιαίτερο πρόβλημα με τη Java, καθώς έχει σχεδιαστεί για να εκτελείται πανομοιότυπα σε διαφορετικές μηχανές, χρειάστηκε να χρησιμοποιηθούν ειδικά προγραμματιστικά τεχνάσματα για να επιτευχθεί αυτό με κινητή μονάδα x87. Η γλώσσα Java άλλαξε ώστε να επιτρέπει διαφορετικά αποτελέσματα όταν η διαφορά δεν έχει σημασία και να απαιτεί τη χρήση ενός προσδιοριστή "strictfp" όταν τα αποτελέσματα πρέπει να συμμορφώνονται με ακρίβεια.

Ακριβής υπολογισμός με στρογγυλοποιημένη αριθμητική

Είναι δυνατόν να χρησιμοποιήσετε στρογγυλοποιημένη αριθμητική για να αξιολογήσετε την ακριβή τιμή μιας συνάρτησης με διακριτό πεδίο και εύρος. Για παράδειγμα, αν γνωρίζουμε ότι ένας ακέραιος n είναι τέλειο τετράγωνο, μπορούμε να υπολογίσουμε την τετραγωνική του ρίζα μετατρέποντας τον n σε μια τιμή κινητής υποδιαστολής x, υπολογίζοντας την προσεγγιστική τετραγωνική ρίζα y του x με κινητή μονάδα και, στη συνέχεια, στρογγυλοποιώντας την y στον πλησιέστερο ακέραιο αριθμό q. Αν ο n δεν είναι πολύ μεγάλος, το σφάλμα στρογγυλοποίησης της κινητής υποδιαστολής στον y θα είναι μικρότερο από 0,5, οπότε η στρογγυλοποιημένη τιμή q θα είναι η ακριβής τετραγωνική ρίζα του n. Στους περισσότερους σύγχρονους υπολογιστές, η μέθοδος αυτή μπορεί να είναι πολύ ταχύτερη από τον υπολογισμό της τετραγωνικής ρίζας του n με έναν αλγόριθμο για όλους τους ακέραιους.

Το δίλημμα του τραπεζοκόμου

Ο William Kahan επινόησε τον όρο "The Table-Maker's Dilemma" για το άγνωστο κόστος της στρογγυλοποίησης υπερβατικών συναρτήσεων:

"Κανείς δεν ξέρει πόσο θα κόστιζε να υπολογίσει το y^w σωστά στρογγυλοποιημένο για κάθε δύο ορίσματα κινητής υποδιαστολής στα οποία δεν υπερ/υπολείπεται. Αντ' αυτού, οι αξιόπιστες μαθηματικές βιβλιοθήκες υπολογίζουν τις στοιχειώδεις υπερβατικές συναρτήσεις ως επί το πλείστον μέσα σε λίγο περισσότερο από μισό ulp και σχεδόν πάντα καλά μέσα σε ένα ulp. Γιατί η Y^W δεν μπορεί να στρογγυλοποιηθεί μέσα σε μισό ulp όπως η SQRT; Επειδή κανείς δεν ξέρει πόσος υπολογισμός θα κόστιζε... Δεν υπάρχει κανένας γενικός τρόπος να προβλέψουμε πόσα επιπλέον ψηφία θα πρέπει να μεταφερθούν για να υπολογίσουμε μια υπερβατική έκφραση και να τη στρογγυλοποιήσουμε σωστά σε κάποιο προκαθορισμένο αριθμό ψηφίων. Ακόμη και το γεγονός (αν ισχύει) ότι ένας πεπερασμένος αριθμός επιπλέον ψηφίων θα είναι τελικά αρκετός μπορεί να είναι ένα βαθύ θεώρημα".

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

Χρησιμοποιώντας το θεώρημα Gelfond-Schneider και το θεώρημα Lindemann-Weierstrass, μπορεί να αποδειχθεί ότι πολλές από τις τυπικές στοιχειώδεις συναρτήσεις επιστρέφουν υπερβατικά αποτελέσματα όταν τους δίνονται ορθολογικά μη μηδενικά ορίσματα- επομένως είναι πάντα δυνατό να στρογγυλοποιήσουμε σωστά τέτοιες συναρτήσεις. Ωστόσο, ο προσδιορισμός ενός ορίου για μια δεδομένη ακρίβεια σχετικά με το πόσο ακριβή αποτελέσματα πρέπει να υπολογιστούν πριν εξασφαλιστεί ένα σωστά στρογγυλοποιημένο αποτέλεσμα μπορεί να απαιτήσει πολύ χρόνο υπολογισμού.

Υπάρχουν τώρα κάποια πακέτα που προσφέρουν πλήρη ακρίβεια. Το πακέτο MPFR δίνει σωστά στρογγυλοποιημένα αποτελέσματα αυθαίρετης ακρίβειας. Η IBM έχει γράψει ένα πακέτο για γρήγορες και ακριβείς στοιχειώδεις συναρτήσεις IEEE και στο μέλλον οι τυποποιημένες βιβλιοθήκες μπορεί να προσφέρουν τέτοια ακρίβεια.

Είναι δυνατόν να επινοηθούν καλά καθορισμένοι υπολογίσιμοι αριθμοί, οι οποίοι μπορεί να μην είναι ποτέ δυνατόν να στρογγυλοποιηθούν σωστά, ανεξάρτητα από το πόσα ψηφία υπολογίζονται. Για παράδειγμα, αν η εικασία του Goldbach είναι αληθής αλλά αναπόδεικτη, τότε είναι αδύνατο να στρογγυλοποιηθεί σωστά το 0,5 + 10-n όπου n είναι ο πρώτος ζυγός αριθμός μεγαλύτερος του 4 που δεν είναι άθροισμα δύο πρώτων αριθμών, ή το 0,5 αν δεν υπάρχει τέτοιος αριθμός. Ωστόσο, αυτό μπορεί να προσεγγιστεί με οποιαδήποτε δεδομένη ακρίβεια, ακόμη και αν η εικασία είναι αναπόδεικτη.

Ιστορία

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

Η μέθοδος Round-to-even αποτελεί το πρότυπο ASTM (E-29) από το 1940. Η προέλευση των όρων αμερόληπτη στρογγυλοποίηση και στατιστική στρογγυλοποίηση είναι αρκετά αυτονόητη. Στην 4η έκδοση του 1906 του βιβλίου Probability and Theory of Errors ο Robert Simpson Woodward αποκάλεσε τον κανόνα αυτό "the computer's rule" υποδεικνύοντας ότι τότε ήταν σε κοινή χρήση από τους ανθρώπινους υπολογιστές που υπολόγιζαν μαθηματικούς πίνακες. Η εργασία του Churchill Eisenhart το 1947 με τίτλο "Effects of Rounding or Grouping Data" (στο Selected Techniques of Statistical Analysis, McGrawHill, 1947, Eisenhart, Hastay, and Wallis, editors) έδειχνε ότι η πρακτική αυτή ήταν ήδη "καθιερωμένη" στην ανάλυση δεδομένων.

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

Μέχρι τη δεκαετία του 1980, η μέθοδος στρογγυλοποίησης που χρησιμοποιούνταν στην αριθμητική κινητής υποδιαστολής των υπολογιστών ήταν συνήθως καθορισμένη από το υλικό, ανεπαρκώς τεκμηριωμένη, ασυνεπής και διαφορετική για κάθε μάρκα και μοντέλο υπολογιστή. Η κατάσταση αυτή άλλαξε μετά την υιοθέτηση του προτύπου κινητής υποδιαστολής IEEE 754 από τους περισσότερους κατασκευαστές υπολογιστών. Το πρότυπο επιτρέπει στο χρήστη να επιλέξει μεταξύ διαφόρων τρόπων στρογγυλοποίησης και σε κάθε περίπτωση καθορίζει επακριβώς τον τρόπο στρογγυλοποίησης των αποτελεσμάτων. Αυτά τα χαρακτηριστικά έκαναν τους αριθμητικούς υπολογισμούς πιο προβλέψιμους και ανεξάρτητους από τη μηχανή και κατέστησαν δυνατή την αποτελεσματική και συνεπή εφαρμογή της αριθμητικής διαστημάτων.

Συναρτήσεις στρογγυλοποίησης σε γλώσσες προγραμματισμού

Οι περισσότερες γλώσσες προγραμματισμού παρέχουν συναρτήσεις ή ειδική σύνταξη για τη στρογγυλοποίηση κλασματικών αριθμών με διάφορους τρόπους. Οι πρώτες αριθμητικές γλώσσες, όπως η FORTRAN και η C, παρείχαν μόνο μία μέθοδο, συνήθως την αποκοπή (προς το μηδέν). Αυτή η προεπιλεγμένη μέθοδος θα μπορούσε να υπονοηθεί σε ορισμένα πλαίσια, όπως κατά την ανάθεση ενός κλασματικού αριθμού σε μια ακέραια μεταβλητή ή κατά τη χρήση ενός κλασματικού αριθμού ως δείκτη ενός πίνακα. Άλλα είδη στρογγυλοποίησης έπρεπε να προγραμματιστούν ρητά- για παράδειγμα, η στρογγυλοποίηση ενός θετικού αριθμού στον πλησιέστερο ακέραιο μπορούσε να υλοποιηθεί με την προσθήκη 0,5 και την αποκοπή.

Τις τελευταίες δεκαετίες, ωστόσο, η σύνταξη ή/και οι τυποποιημένες βιβλιοθήκες των περισσότερων γλωσσών παρέχουν συνήθως τουλάχιστον τις τέσσερις βασικές συναρτήσεις στρογγυλοποίησης (προς τα πάνω/πάνω, προς τα κάτω/κάτω, προς το πλησιέστερο και προς το μηδέν). Η μέθοδος ισοπαλίας μπορεί να διαφέρει ανάλογα με τη γλώσσα και την έκδοση ή/και να μπορεί να επιλέγεται από τον προγραμματιστή. Αρκετές γλώσσες ακολουθούν το πρότυπο κινητής υποδιαστολής IEEE-754 και ορίζουν αυτές τις συναρτήσεις να δέχονται ένα όρισμα κινητής υποδιαστολής διπλής ακρίβειας και να επιστρέφουν το αποτέλεσμα του ίδιου τύπου, το οποίο στη συνέχεια μπορεί να μετατραπεί σε ακέραιο αν είναι απαραίτητο. Δεδομένου ότι η μορφή διπλής ακρίβειας του IEEE έχει 52 κλασματικά bits, αυτή η προσέγγιση μπορεί να αποφύγει τις ψευδείς υπερχειλίσεις σε γλώσσες που έχουν ακέραιους αριθμούς 32-bit. Ορισμένες γλώσσες, όπως η PHP, παρέχουν συναρτήσεις που στρογγυλοποιούν μια τιμή σε έναν καθορισμένο αριθμό δεκαδικών ψηφίων, π.χ. από 4321,5678 σε 4321,57 ή 4300. Επιπλέον, πολλές γλώσσες παρέχουν μια συνάρτηση μορφοποίησης συμβολοσειρών "printf" ή παρόμοια, η οποία επιτρέπει τη μετατροπή ενός κλασματικού αριθμού σε συμβολοσειρά, στρογγυλοποιημένη σε έναν καθορισμένο από τον χρήστη αριθμό δεκαδικών ψηφίων (την ακρίβεια). Από την άλλη πλευρά, η αποκοπή (στρογγυλοποίηση στο μηδέν) εξακολουθεί να είναι η προεπιλεγμένη μέθοδος στρογγυλοποίησης που χρησιμοποιείται από πολλές γλώσσες, ειδικά για τη διαίρεση δύο ακέραιων τιμών.

Αντίθετα, η CSS και η SVG δεν ορίζουν κάποια συγκεκριμένη μέγιστη ακρίβεια για τους αριθμούς και τις μετρήσεις, οι οποίες αντιμετωπίζονται και εκτίθενται στο Μοντέλο Αντικειμένου Εγγράφου τους και στη διεπαφή της γλώσσας περιγραφής διεπαφής τους ως συμβολοσειρές σαν να είχαν άπειρη ακρίβεια, και δεν κάνουν διάκριση μεταξύ ακεραίων και τιμών κινητής υποδιαστολής- ωστόσο, οι υλοποιήσεις αυτών των γλωσσών μετατρέπουν συνήθως αυτούς τους αριθμούς σε διπλές κινητές μονάδες IEEE-754 πριν εκθέσουν τα υπολογισμένα ψηφία με περιορισμένη ακρίβεια (κυρίως στο πλαίσιο των τυπικών δεσμεύσεων διεπαφής Javascript ή ECMAScript).

Άλλα πρότυπα στρογγυλοποίησης

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

Παρατηρήσεις καιρού στις ΗΠΑ

Σε μια κατευθυντήρια γραμμή που εκδόθηκε στα μέσα του 1966, το Γραφείο του Ομοσπονδιακού Συντονιστή Μετεωρολογίας των ΗΠΑ καθόρισε ότι τα μετεωρολογικά δεδομένα θα πρέπει να στρογγυλοποιούνται στον πλησιέστερο στρογγυλό αριθμό, με τον κανόνα "στρογγυλοποίηση κατά το ήμισυ προς τα πάνω". Για παράδειγμα, το 1,5 στρογγυλοποιημένο σε ακέραιο αριθμό θα πρέπει να γίνει 2 και το -1,5 θα πρέπει να γίνει -1. Πριν από την ημερομηνία αυτή, ο κανόνας ισοπαλίας ήταν "στρογγυλοποίηση κατά το ήμισυ από το μηδέν".

Αρνητικό μηδέν στη μετεωρολογία

Ορισμένοι μετεωρολόγοι μπορεί να γράψουν "-0" για να υποδείξουν μια θερμοκρασία μεταξύ 0,0 και -0,5 βαθμών (αποκλειστικά) που στρογγυλοποιήθηκε σε ακέραιο αριθμό. Αυτή η σημειογραφία χρησιμοποιείται όταν το αρνητικό πρόσημο θεωρείται σημαντικό, ανεξάρτητα από το πόσο μικρό είναι το μέγεθος- για παράδειγμα, κατά τη στρογγυλοποίηση των θερμοκρασιών στην κλίμακα Κελσίου, όπου κάτω από το μηδέν υποδηλώνει την κατάψυξη. []

Σχετικές σελίδες

Ερωτήσεις και απαντήσεις

Ερ: Τι σημαίνει η λέξη "στρογγυλοποίηση";


A: Στρογγυλοποίηση είναι η αντικατάσταση μιας αριθμητικής τιμής με μια άλλη τιμή που είναι περίπου ίση αλλά έχει πιο σύντομη, απλούστερη ή πιο σαφή μορφή.

Ερ: Ποιο είναι ένα παράδειγμα στρογγυλοποίησης;


A: Ένα παράδειγμα στρογγυλοποίησης θα ήταν το 23,74 δολάρια ΗΠΑ να στρογγυλοποιηθεί σε 24 δολάρια ΗΠΑ, το κλάσμα 312/937 να στρογγυλοποιηθεί σε 1/3 και η έκφραση 2 {\displaystyle {\sqrt {2}} να στρογγυλοποιηθεί σε 1,41.

Q: Γιατί στρογγυλοποιούμε τους αριθμούς;


A: Στρογγυλοποιούμε τους αριθμούς προκειμένου να λάβουμε μια τιμή που είναι ευκολότερη στη γραφή και στο χειρισμό από την αρχική. Μπορεί επίσης να γίνει για να δείξουμε την ακρίβεια ενός υπολογισμένου αριθμού.

Ε: Ποια είναι ορισμένα πιθανά προβλήματα με τη στρογγυλοποίηση;


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

Ερ: Πώς σχετίζεται η στρογγυλοποίηση με την κβαντοποίηση;


Α: Η στρογγυλοποίηση έχει πολλές ομοιότητες με την κβάντιση, η οποία συμβαίνει όταν φυσικές ποσότητες πρέπει να κωδικοποιηθούν με αριθμούς ή ψηφιακά σήματα.

AlegsaOnline.com - 2020 / 2023 - License CC3