next up previous contents
Next: Ακρίβεια Μηχανής Up: Αριθμητική Υπολογιστή Previous: Ιδιότητες Συστημάτων Αριθμών Κινητής   Contents

Στρογγύλευση

Εάν ένας δοσμένος πραγματικός αριθμός 33#33 δεν αναπαρίσταται ακριβώς ως αριθμός κινητής υποδιαστολής, τότε πρέπει να αναπαρασταθεί από κάποιον "κοντινό" του αριθμό κινητής υποδιαστολής. Συμβολίζουμε την προσεγγιστική τιμή ενός πραγματικού αριθμού 33#33 στο σύστημα αριθμών κινητής υποδιαστολής με 130#130. Η διαδικασία της επιλογής ενός κοντινού αριθμού κινητής υποδιαστολής 130#130 για να προσεγγίσουμε ένα δοσμένο πραγματικό αριθμό 33#33 ονομάζεται στρογγύλευση (131#131) και το σφάλμα που εισάγεται από μία τέτοια προσέγγιση ονομάζεται σφάλμα στρογγύλευσης ( 132#132). Δύο από τους πιο συχνά χρησιμοποιούμενους κανόνες στρογγύλευσης είναι οι εξής: Η στρογγύλευση στον κοντινότερο είναι η πιο ορθή, αλλά είναι κάπως πιο δαπανηρή να υλοποιηθεί σωστά. Κάποια συστήματα στο παρελθόν έχουν χρησιμοποιήσει κανόνες στρογγύλευσης που ήταν οικονομικότεροι στην υλοποίησή τους, όπως η αποκοπή, αλλά η στρογγύλευση στον πλησιέστερο είναι ο εκ κατασκευής συνήθης κανόνας στρογγύλευσης στα πρότυπα συστήματα (ΙΕΕΕ).

27#27

Παράδειγμα 1.6   Κανόνες Στρογγύλευσης. Στρογγυλεύοντας τους επόμενους δεκαδικούς αριθμούς στα δύο σημαντικά ψηφία χρησιμοποιώντας κάθε έναν από τους κανόνες στρογγύλευσης παίρνουμε τα ακόλουθα αποτελέσματα:

Table: Κανόνες Στρογγύλευσης.
Αριθμός Αποκοπή Στρογγύλευση Αριθμός Αποκοπή Στρογγύλευση
1.649 1.6 1.6 1.749 1.7 1.7
1.650 1.6 1.6 1.750 1.7 1.8
1.651 1.6 1.7 1.751 1.7 1.8
1.699 1.6 1.7 1.799 1.7 1.8



27#27

Μία πιθανή πηγή ενός επιπρόσθετου σφάλματος η οποία συχνά παραβλέπεται είναι κατά τις μετατροπές από το δεκαδικό στο δυαδικό σύστημα και αντίστροφα που συνήθως πραγματοποιούνται κατά την είσοδο και έξοδο αριθμών κινητής υποδιαστολής. Τέτοιες μετατροπές δεν καλύπτονται από το πρότυπο 135#135, το οποίο ελέγχει μόνο τις εσωτερικές στον υπολογιστή αριθμητικές πράξεις. Ορθά στρογγυλευμένα δεδομένα και αποτελέσματα μπορούν να ληφθούν με λογικό κόστος, αλλά δεν έχουν όλα τα υπολογιστικά συστήματα τη δυνατότητα να το πραγματοποιήσουν. Αποτελεσματικές, φορητές ρουτίνες για ορθές μετατροπές από δυαδικούς σε δεκαδικούς και αντίστροφα - 136#136 και 137#137 αντίστοιχα - είναι διαθέσιμες από το 138#138 (δείτε Παράγραφο 1.4.1)

Manolis Vavalis 2000-03-24