Στην επιστήμη των υπολογιστών, οι δεκαδικοί αριθμοί, γνωστοί και ως αριθμοί βάσης-10, είναι ένα σύστημα αριθμητικής αναπαράστασης που χρησιμοποιεί 10 ψηφία: 0, 1, 2, 3, 4, 5, 6, 7, 8 και 9.
Η θέση κάθε ψηφίου στο ένας δεκαδικός αριθμός αντιπροσωπεύει μια δύναμη του 10.
Για παράδειγμα, στον αριθμό 123, το "3" αντιπροσωπεύει 3 ένα, το "2" αντιπροσωπεύει 2 δεκάδες (10^1) και το "1" αντιπροσωπεύει 1 εκατό (10^2 ), οπότε η συνολική τιμή είναι 100 + 20 + 3 = 123.
Στους υπολογιστές, οι δεκαδικοί αριθμοί χρησιμοποιούνται συνήθως για εισόδους και εξόδους αναγνώσιμες από τον άνθρωπο. Ωστόσο, εσωτερικά, οι υπολογιστές συνήθως χρησιμοποιούν δυαδικούς αριθμούς (βάση-2) για υπολογισμό και αποθήκευση.
Όταν ασχολούμαστε με δεκαδικούς αριθμούς στην επιστήμη των υπολογιστών, είναι σημαντικό να κατανοήσουμε πώς αναπαριστώνται εσωτερικά και πώς αντιμετωπίζονται οι μετατροπές μεταξύ δεκαδικών και δυαδικών (ή άλλων βάσεων).
Υπάρχουν διάφοροι τρόποι αναπαράστασης δεκαδικών αριθμών σε υπολογιστές:
Binary Coded Decimal (BCD) : Αυτή η μέθοδος αντιπροσωπεύει κάθε δεκαδικό ψηφίο με έναν δυαδικό κωδικό. Για παράδειγμα, ο δεκαδικός αριθμός 123 μπορεί να αναπαρασταθεί ως 0001 0010 0011 στο BCD, όπου κάθε τσιμπίδα (4 bit) αντιπροσωπεύει ένα δεκαδικό ψηφίο.
Αναπαράσταση κινητής υποδιαστολής : Οι αριθμοί κινητής υποδιαστολής αντιπροσωπεύουν δεκαδικούς αριθμούς χρησιμοποιώντας έναν συνδυασμό ενός bit πρόσημου, ενός σταθερού αριθμού ψηφίων για το significand (ονομάζεται επίσης mantissa) και έναν εκθέτη. Αυτό επιτρέπει την αναπαράσταση ενός ευρέος φάσματος δεκαδικών αριθμών, αλλά θυσιάζει την ακρίβεια για πολύ μεγάλους ή πολύ μικρούς αριθμούς.
Αναπαράσταση σταθερού σημείου : Η αναπαράσταση σταθερού σημείου εκχωρεί έναν σταθερό αριθμό bit για τα ακέραια και κλασματικά μέρη ενός δεκαδικού αριθμού. Η θέση της υποδιαστολής είναι άρρητη και οι αριθμητικές πράξεις πρέπει να λαμβάνουν υπόψη αυτήν τη σταθερή θέση.
Κωδικοποίηση ASCII ή Unicode : Σε ορισμένες περιπτώσεις, τα δεκαδικά ψηφία αντιπροσωπεύονται χρησιμοποιώντας σχήματα κωδικοποίησης χαρακτήρων όπως ASCII ή Unicode. Κάθε δεκαδικό ψηφίο αντιστοιχεί σε ένα συγκεκριμένο δυαδικό κωδικό σημείο.
Η μετατροπή δεκαδικών αριθμών σε δυαδικούς και αντίστροφα περιλαμβάνει αλγόριθμους που χειρίζονται τη διαδικασία μετατροπής.
Για παράδειγμα, για να μετατρέψετε έναν δεκαδικό αριθμό σε δυαδικό, μπορείτε να διαιρέσετε επανειλημμένα τον δεκαδικό αριθμό με το 2 και να καταγράψετε τα υπόλοιπα.
Για να μετατρέψετε από δυαδικό σε δεκαδικό, πολλαπλασιάζετε κάθε bit με την αντίστοιχη ισχύ του 2 και αθροίζετε τα αποτελέσματα.