Αριθμητικά συστήματα

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

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

Το περισσότερο χρησιμοποιούμενο αριθμητικό σύστημα είναι το δεκαδικό. Άλλα συστήματα με τα οποία και θα ασχοληθούμε είναι το δυαδικό και το δεκαεξαδικό.

Δεκαδικό σύστημα

Το δεκαδικό σύστημα χρησιμοποιεί δέκα ψηφία (τους αριθμούς 0-9), έχει βάση το 10 και η αξία των ψηφίων εξαρτάται από την θέση τους (το βάρος των θέσεων υπολογίζεται από την αντίστοιχη δύναμη του 10). Για παράδειγμα ο αριθμός 4256 του δεκαδικού συστήματος παριστάνει μια ποσότητα που είναι ίση με 4 χιλιάδες συν 2 εκατοντάδες συν 5 δεκάδες συν 2 μονάδες, αφού:

4256 = 4 x 1000 + 2 x 100 + 5 x 10 + 6

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

Το πρώτο ψηφίο του αριθμού είναι το Περισσότερο Σημαντικό Ψηφίο (Most Significant Digit MSD) διότι έχει την μεγαλύτερη αξία, ενώ το τελευταίο ψηφίο, το Λιγότερο Σημαντικό Ψηφίο (Least Significant Digit – LSD) διότι έχει τη μικρότερη αξία.

Δυαδικό σύστημα

Το δυαδικό σύστημα έχει βάση τον αριθμό 2. Επομένως χρησιμοποιεί τα ψηφία 0 και 1. Κάθε δυαδικός αριθμός παριστάνεται από μια σειρά από τέτοια ψηφία, που ονομάζονται δυαδικά ψηφία (bits). Το πρώτο ψηφίο του αριθμού είναι το MSB διότι έχει τη μεγαλύτερη αξία, ενώ το τελευταίο είναι το LSB  διότι έχει την μικρότερη αξία.

Το βάρος της Λιγότερης σημαντικής θέσης είναι 1 και καθώς κινούμαστε κατά μια θέση προς την Περισσότερη Σημαντική θέση το βάρος προκύπτει με πολλαπλασιασμό επί 2. Για παράδειγμα, τα βάρη των θέσεων του δυαδικού αριθμού 1101 φαίνονται στο σχήμα.

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

(1101)2 = 1 x 8 + 1 x 4 +0 x 2 + 1 x 1 = (13)10

Το δεκαεξαδικό σύστημα

Το δεκαεξαδικό σύστημα έχει βάση τον αριθμό 16. Επομένως χρησιμοποιεί 16 ψηφία που είναι οι αριθμοί 0, 1, 2, 3, 4, 5, 6, 7, 8 και 9 και τα γράμματα A, B, C, D, E και F. Κάθε δεκαεξαδικός αριθμός παριστάνεται από μια σειρά από τέτοια ψηφία. Από τις θέσεις των ψηφίων προκύπτουν τα βάρη τους (οι αντίστοιχες δυνάμεις του 16). Το πρώτο ψηφίο του αριθμού ονομάζεται Περισσότερο Σημαντικό Ψηφίο MSD, ενώ το τελευταίο ψηφίο ονομάζεται Λιγότερο Σημαντικό Ψηφίο LSD

Για παράδειγμα, τα βάρη των θέσεων του δεκαεξαδικού αριθμού (5F8)16 φαίνεται στο σχήμα.

Ο αντίστοιχος δεκαδικός αριθμός είναι:

(5F8)16 = 5 x 256 + 15 x 16 + 8 = 1280 + 240 + 8 = (1528)10

Αρίθμηση στα αριθμητικά συστήματα

Στο δεκαδικό σύστημα χρησιμοποιώντας n ψηφία μπορούμε να μετρήσουμε 10n αριθμούς από το 0 μέχρι το 10n-1. Για παράδειγμα με 1 ψηφίο μπορούμε να μετρήσουμε τους αριθμούς 0-9, με δυο ψηφία τους αριθμούς 0-99, με τρία ψηφία τους αριθμούς 0-999.

Στο δυαδικό σύστημα χρησιμοποιώντας n ψηφία (bits) μπορούμε να μετρήσουμε 2n αριθμούς (από το 0 μέχρι και το 2n-1). Για παράδειγμα με 1 ψηφίο μπορούμε να μετρήσουμε τους αριθμούς 0 – 1 με δυο ψηφία τους αριθμούς 0-3 με τρία ψηφία τους αριθμούς 0-7 με τέσσερα ψηφία τους αριθμούς 0-15.

Στο δεκαεξαδικό σύστημα χρησιμοποιώντας n ψηφία μπορούμε να μετρήσουμε 16n αριθμούς (από το 0 μέχρι και το 16n-1). Για παράδειγμα, με 1 ψηφίο μπορούμε να μετρήσουμε τους αριθμούς 0-15, με δυο ψηφία τους αριθμούς 0-255, με τρία ψηφία τους αριθμούς 0-4095, με τέσσερα ψηφία τους αριθμούς 0-65535.

Μετατροπή δυαδικού σε δεκαδικό και από δεκαδικό σε δυαδικό

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

Για τη μετατροπή ενός ακεραίου δεκαδικού αριθμού σε δυαδικό αριθμό κάνουμε την ακόλουθη διαδικασία: Ο δεκαδικός αριθμός διαιρείται δια του 2, οπότε προκύπτει ακέραιο πηλίκο και υπόλοιπο (που είναι 0 ή 1). Το πηλίκο της προηγούμενης διαίρεσης διαιρείται εκ νέου δια του 2, οπότε προκύπτει νέο ακέραιο πηλίκο και νέο υπόλοιπο. Η διαδικασία επαναλαμβάνεται μέχρι να προκύψει πηλίκο ίσο με 0. Τα υπόλοιπα των διαιρέσεων αποτελούν τα ψηφία του ακέραιου μέρους του δυαδικού αριθμού με LSB το υπόλοιπο της πρώτης διαίρεσης και MSB το υπόλοιπο της τελευταίας διαίρεσης

Για παράδειγμα ο δεκαδικός αριθμός (43)10 αντιστοιχεί στο δυαδικό αριθμό (101011)2

Μετατροπή δεκαεξαδικού σε δεκαδικό και από δεκαδικό σε δεκαεξαδικό

Για να μετατρέψουμε ένα δεκαεξαδικό σε δεκαδικό κάνουμε την εξής πρόσθεση: αθροίζουμε κάθε ψηφίο του δεκαεξαδικού αριθμού αφού το έχουμε πολλαπλασιάσει με το βάρος της θέσης που είναι. Τα βάρη είναι ακέραιες δυνάμεις του αριθμού 16.

Τα τέσσερα βάρη από την περισσότερη σημαντική θέση προς την λιγότερη σημαντική θέση είναι
4096, 256, 16, 1

Για παράδειγμα, ο δεκαεξαδικός αριθμός (1Α6Ε)16 αντιστοιχεί στον δεκαδικό αριθμό  (6766)10 αφού

(1Α6Ε)16 = 1 x 4096 + 10 x 256 + 6 x 16 + 14 = (6766)10

Για τη μετατροπή ενός δεκαδικού αριθμού σε δεκαεξαδικό αριθμό χρησιμοποιούμε τη μέθοδο διαδοχικών διαιρέσεων δια του 16. Ο δεκαδικός αριθμός διαιρείται δια του 16, οπότε προκύπτει ακέραιο πηλίκο και υπόλοιπο που είναι που είναι ένας αριθμός από 0 έως 15. Το πηλίκο της προηγούμενης διαίρεσης διαιρείται εκ νέου δια του 16, οπότε προκύπτει νέο ακέραιο πηλίκο και νέο υπόλοιπο. Η διαδικασία επαναλαμβάνεται μέχρι να προκύψει πηλίκο ίσο με 0. Τα υπόλοιπα των διαιρέσεων αποτελούν τα ψηφία του ακέραιου μέρους του δεκαεξαδικού αριθμού με LSB το υπόλοιπο της πρώτης διαίρεσης και MSB το υπόλοιπο της τελευταίας διαίρεσης

Για παράδειγμα, ο δεκαδικός αριθμός (485)10 αντιστοιχεί στον δεκαεξαδικό αριθμό (1Ε5)16 αφού

Μετατροπή δεκαεξαδικού σε δυαδικό και από δυαδικό σε δεκαεξαδικό

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

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

Για παράδειγμα, ο δεκαεξαδικός αριθμός (8F5A)16 αντιστοιχεί στον δυαδικό αριθμό (1000111101011010)2 , αφού:

(8)16 = (1000)2     (F)16 = (1111)2   (5)16 = (0101)2   (A)16 = (1010)2

Για τη μετατροπή ενός δυαδικού αριθμού σε δεκαεξαδικό αριθμό χωρίζεται ο δυαδικός αριθμός σε ομάδες τεσσάρων (4) bits και κάθε ομάδα μετατρέπεται στο ισοδύναμο δεκαεξαδικό ψηφίο. Αν ο δυαδικός αριθμός δεν χωρίζεται ακριβώς σε τετράδες bits, τότε προστίθενται όσα «0» απαιτούνται στα αριστερά του MSB του δυαδικού, ώστε να δημιουργηθεί η τελευταία τετράδα bits.

Για παράδειγμα, ο δυαδικός αριθμός (0100101100111100)2 αντιστοιχεί στον δεκαεξαδικό αριθμό (4B3C)16

(0100)2 = (4)16    (1011)2 = (B)16   (0011)2 = (3)16   (1100)2 = (C)16