Τύπος κινητής υποδιαστολής

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

Λειτουργία

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

Για παράδειγμα, ο αριθμός 0.0432 θα μπορούσε να εκφραστεί ως 432 επί δέκα εις την μείον τέταρτη δύναμη. Έτσι, το κομμάτι του περιεχομένου θα περιέχει τον ακέραιο 432 και το κομμάτι της τοποθεσίας της υποδιαστολής τον -4.

Ωστόσο, σε ορισμένες περιπτώσεις ο τύπος αυτός μπορεί να φέρει αρνητικές συνέπειες. Ένα χαρακτηριστικό παράδειγμα μίας τέτοιας συμπεριφοράς είναι η πρόσθεση των 0.3 + 0.4. Σε τέτοιες περιπτώσεις, ο υπολογιστής ενδέχεται να μην ορίσει το αποτέλεσμα ως 0.7 ακριβώς, αλλά ως 0.700000003. Ο λόγος αυτής της συμπεριφοράς είναι ότι ο τύπος κινητής υποδιαστολής λειτουργεί με το δυαδικό σύστημα, και συνεπώς μερικοί αριθμοί που φαίνονται στρογγυλοί δεν είναι για τον υπολογιστή. Έτσι, όταν γίνεται η πρόσθεση, ο υπολογιστής χάνει λίγη ακρίβεια.