Δεκαδικό Όταν αναφερόμαστε σε μία αριθμητική τιμή, απεικονίζουμε μία ποσότητα με ένα σύμβολο ή έναν συνδυασμό από σύμβολα. Το αριθμητικό σύστημα που χρησιμοποιούμε είναι το δεκαδικό. Αποτελείται από δέκα διαφορετικά σύμβολα, τα ψηφία, και οποιαδήποτε αριθμητική τιμή μπορεί να αποτυπωθεί με έναν συνδυασμό των δέκα αυτών ψηφίων. Η σειρά με την οποία τοποθετούνται τα σύμβολα αυτά σε έναν αριθμό, σηματοδοτεί κάποια πολλαπλάσια. Λέμε, για παράδειγμα: 3082 = 3 χιλιάδες 3 x 1000 +0 εκατοντάδες ή +0 x 100 +8 δεκάδες +8 x 10 +2 μονάδες +2 x 1 Mε περαιτέρω ανάλυση τα παραπάνω γινόμενα, προκύπτουν πολλαπλάσια των ψηφίων του αριθμού με τις αντίστοιχες δυνάμεις του δέκα. Ισχύει λοιπόν: 3082 = 3 x 10 3 + 0 x 10 2 + 8 x 10 1 + 2 x 10 0 Το παραπάνω σύστημα έχει σαν βάση το δέκα. Μπορούμε να δημιουργήσουμε ένα οποιοδήποτε αριθμητικό σύστημα με βάση διαφορετική του δέκα.
Δυαδικό Έστω ένα αριθμητικό σύστημα το οποίο αποτελείται από δύο ψηφία: το 0 και το 1. Το σύστημα αυτό έχει σαν βάση το δύο και καλείται δυαδικό. Όπως και με το δεκαδικό σύστημα, η σειρά με την οποία τοποθετούνται τα ψηφία αυτά σε έναν αριθμό αφορούν γινόμενα των ψηφίων αυτών με τις αντίστοιχες δυνάμεις του δύο. Έτσι, για παράδειγμα ο αριθμός 1101 ισοδυναμεί με: 1101 = 1 x 2 3 1 x 8 +1 x 2 2 ή +1 x 4 +0 x 2 1 +0 x 2 +1 x 2 0 +1 x 1 ή 1101 2 = 13 10 Παρατηρούμε το κάτω δεξιά αριθμητικό σύμβολο σε κάθε αριθμό, το οποίο είναι μία σήμανση που αφορά στο αριθμητικό σύστημα που ανήκει ο αριθμός, έτσι ώστε να μη μπερδεύουμε για παράδειγμα το 11 (τρία), με το 11 (ένδεκα).
Δεκαεξαδικό Ένα άλλο αριθμητικό σύστημα είναι το δεκαεξαδικό, ένα δηλαδή σύστημα που έχει σαν βάση το δεκαέξι και χρησιμοποιεί δεκαέξι διαφορετικά αριθμητικά ψηφία. Προκειμένου να αναπαραστήσουμε έναν δεκαεξαδικό αριθμό, επειδή ακριβώς τα αριθμητικά ψηφία που χρησιμοποιούμε γενικότερα είναι δέκα (0 9), χρειαζόμαστε έξι ακόμη σύμβολα τα οποία δανειζόμαστε από το λατινικό αλφάβητο (A F). Για οποιοδήποτε άλλον αριθμό, γίνεται κατάλληλος συνδυασμός των παραπάνω συμβόλων. Έτσι για παράδειγμα ο αμέσως επόμενος αριθμός (το δεκαέξι) είναι ο 10, το δεκαεπτά ο 11 κ.ο.κ. Αντίστοιχα, ο δεκαεξαδικός αριθμός 1C03 ισοδυναμεί με: 1C03 16 = 1 x 16 3 + 12 x 16 2 + 0 x 16 1 + 3 x 16 0 = = 1 x 4096 + 12 x 256 + 0 x 16 + 3 x 1 = = 4096 + 3072 + 0 + 3 = = 7171 10 Σημειώνεται πως οι δεκαεξαδικοί εκτός από τη σήμανση της αριθμητικής βάσης ( 16 ), ξεχωρίζουν και με το πρόθεμα $. Γράφουμε δηλαδή $1C03.
Δεκαδικός Αντίστοιχος Αντίστοιχος αριθμός δυαδικός δεκαεξαδικός 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 Α 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F
Δεκαεξαδικοί Δυαδικοί Αριθμοί Αν και η δυαδική αναπαράσταση αφορά περισσότερο τις λειτουργίες των κυκλωμάτων του υπολογιστή, στον προγραμματισμό χρησιμοποιούμε κυρίως την δεκαεξαδική αναπαράσταση. Αυτό συμβαίνει επειδή αφενός η δυαδική αναπαράσταση χρειάζεται πολλά ψηφία για να αποτυπωθεί ένας αριθμός, αφετέρου επειδή οι δεκαεξαδικοί μετατρέπονται εύκολα σε δυαδικούς και αντίστροφα. Πράγματι, επειδή 2 4 = 16, σε κάθε τετράδα δυαδικών ψηφίων αντιστοιχεί ένα δεκαεξαδικό ψηφίο. Έτσι, οποιονδήποτε δυαδικό, αρκεί αρχικά να τον μοιράσουμε σε τετράδες ξεκινώντας από τα δεξιά και στη συνέχεια να κάνουμε τις μετατροπές στα αντίστοιχα δεκαεξαδικά ψηφία. Εάν τα πλέον αριστερά ψηφία του αριθμού δεν συμπληρώνουν τετράδα, συμπληρώνουμε με αντίστοιχα μηδενικά. Παράδειγμα: 11101011110101 2 (0011 1010 1111 0101) = 3 A F 5
Μετατροπή από δεκαδικό σε άλλα συστήματα αρίθμησης. Για να μετατρέψουμε έναν αριθμό από δεκαδικό σε οποιοδήποτε άλλο σύστημα, ακολουθούμε την εξής διαδικασία. 1. Το ακέραιο μέρος ενός αριθμού το διαιρούμε με τον αριθμό του συστήματος που θέλουμε να τον μετατρέψουμε. Για παράδειγμα θέλουμε να μετατρέψουμε έναν αριθμό από το δεκαδικό σε δυαδικό, τότε θα διαιρέσουμε τον αριθμό αυτόν με το δύο. 2. Καθώς διαιρούμε τον αριθμό με το δύο κάθε φορά, το υπόλοιπο της κάθε διαίρεσης θα είναι το δεξιότερο ψηφίο του αριθμού (στο δυαδικό σύστημα) και το νέο πηλίκο που παίρνουμε κάθε φορά θα το διαιρούμε με το δύο και θα παίρνουμε καινούργιο υπόλοιπο ώσπου να μηδενιστεί το πηλίκο.
3. Tο κλασματικό μέρος ενός αριθμού το πολλαπλασιάζουμε με δύο. Το ακέραιο μέρος του αριθμού που προκύπτει από τον πολλαπλασιασμό του κλασματικού μέρους με το δύο, θα αποτελέσει το αριστερότερο ψηφίο του νέου κλασματικού αριθμού στο δυαδικό σύστημα, μετά την υποδιαστολή. 4. Έπειτα παίρνουμε το αποτέλεσμα που προέκυψε από τον πολλαπλασιασμό του δύο με το κλασματικό μέρος του αριθμού και αφαιρούμε το ακέραιο μέρος που χρησιμοποιήσαμε για τον σχηματισμό του κλασματικού μέρους στο δυαδικό σύστημα από τον νέο κλασματικό αριθμό. Αυτόν τον νέο αριθμό τον πολλαπλασιάζουμε πάλι με το δύο και εκτελούμε την προηγούμενη διαδικασία, μέχρι ο νέος κλασματικός αριθμός να γίνει μηδέν. 5. Aν ο νέος κλασματικός αριθμός είναι περιοδικός τότε κάνουμε αποκοπή και στρογγυλοποίηση. Επειδή μπορεί να σας μπέρδεψα λίγο θα σας παραθέσω κάποια παραδείγματα μετατροπών.
Μετατροπή από δεκαδικό σε δυαδικό Χ 10 -> Χ 2 Ακέραιος 45 10 Χ 2 Διαίρεση Πηλίκο Υπόλοιπο Δυαδικός Αριθμός 45 / 2 22 1 1 22 / 2 11 0 01 11 / 2 5 1 101 5 / 2 2 1 1101 2 / 2 1 0 01101 1 / 2 0 1 101101 45 10 -> 101101 2
Μετατροπή από δεκαδικό σε δυαδικό Χ 10 -> Χ 2 Κλασματικό μέρος 0,182 10 -> Χ 2 Αριθμός Γινόμενο Ακέραιος Δυαδικός Αριθμός 0,182 * 2 0,364 0 0,0 0,364 * 2 0,728 0 0,00 0,728 * 2 1,456 1 0,001 0,456 * 2 0,912 0 0,0010 0,912 * 2 1,824 1 0,00101 0,824 * 2 1,648 1 0,001011 0,648 * 2 1,296 1 0,0010111 0,182 10 -> 0,0010111 2 (Μετά από στρογγυλοποίηση και αποκοπή)
Μετατροπή από δεκαδικό σε δεκαεξαδικό Χ 10 -> Χ 16 Ακέραιος 45 10 -> X 16 Διαίρεση Πηλίκο Υπόλοιπο Δεκαεξαδικός Αριθμός 45 / 16 2 13 D 2 / 16 0 2 2D 45 10 -> 2D 16
Μετατροπή από δεκαδικό σε δεκαεξαδικό Χ 10 -> Χ 16 Κλασματικό μέρος 0,182 10 -> Χ 16 Αριθμός Γινόμενο Ακέραιος Δυαδικός Αριθμός 0,182 * 16 2,912 2 0,2 0,912 * 16 14,592 14 0,2Ε 0,592 * 16 9,472 9 0,2Ε9 0,472 * 16 7,552 7 0,2Ε97 0,552 * 16 8,832 8 0,2Ε978 0,832 * 16 13,312 13 0,2Ε978D 0,182 10 -> 0,2E978D 16 (Μετά από στρογγυλοποίηση και αποκοπή)
Μετατροπή από άλλα συστήματα αρίθμησης σε δεκαδικό. 1. Μετράμε από πόσα ψηφία αποτελείται ο αριθμός που θέλουμε να μετατρέψουμε ξεκινώντας από το μηδέν από δεξιά προς τα αριστερά όταν πρόκειται για ακέραιο αριθμό. 2. Όταν ο αριθμός είναι δεκαδικός τότε μετράμε τα ψηφία του αριθμού αυτού από την υποδιαστολή και μετά, δηλαδή από τα αριστερά προς τα δεξιά ξεκινώντας την αρίθμησή τους από το μείον ένα. 3. Έτσι για να μετατρέψουμε έναν αριθμό από το σύστημα αρίθμησης που βρισκόμαστε στο δεκαδικό, πολλαπλασιάζουμε το κάθε ψηφίο του με τον αριθμό που είναι η βάση του συστήματος αρίθμησης στο οποίο αναπαρίσταται ο αριθμός, π.χ. στο δυαδικό το δύο, και εκθέτη τον αριθμό της θέσης που βρίσκεται το κάθε ψηφίο. Στο τέλος προσθέτουμε όλα τα γινόμενα και το αποτέλεσμα αυτό θα είναι ο αριθμός που ζητάμε στο δεκαδικό σύστημα.
Μετατροπή από άλλα συστήματα αρίθμησης σε δεκαδικό. Μετατροπή από δυαδικό σε δεκαδικό Χ 2 Χ 10 Αρίθμηση των ψηφίων του αριθμού. 101101,0010111 2 Χ 10 Αριθμός 1 0 1 1 0 1, 0 0 1 0 1 1 1 Θέση 5 4 3 2 1 0, -1-2 -3-4 -5-6 -7 ψηφίου Πολλαπλασιάζουμε το κάθε ένα ψηφίο. 1 * 2 5 + 0 * 2 4 + 1 * 2 3 + 1 * 2 2 + 0 * 2 1 + 1 * 2 0 + 0 * 2-1 + 0 * 2-2 + 1 * 2-3 + 0 * 2-4 + 1 * 2-5 + 1 * 2-6 + 1 * 2-7 = 32 + 0 + 8 + 4 + 0 + 1 + 0 + 0 + 0,125 + 0 + 0,03125 + 0,015625 + 0,007813= 45,179688 10
Μετατροπή από άλλα συστήματα αρίθμησης σε δεκαδικό. Μετατροπή από δεκαεξαδικό σε δεκαδικό Χ 16 Χ 10 Αρίθμηση των ψηφίων του αριθμού. Πολλαπλασιάζουμε το κάθε ένα ψηφίο. 2D,2E978D 16 Χ 10 Αριθμός 2 D(13), 2 E (14) 9 7 8 D (13) Θέση 1 0, -1-2 -3-4 -5-6 ψηφίου 2 * 16 1 + 13 * 16 0 + 2 * 16-1 + 14 * 16-2 + 9 * 16-3 + 7 * 16-4 + 8 * 16-5 + 13 * 16-6 = 32 + 13 + 0,125 + 0,0546875 + 0,00219727 + 0,00010681 + 0,00000762 + 0,00000077 = 45,18199997 10
Μετατροπή από δυαδικό σε δεκαεξαδικό 110101000,101010 2 X 16 4 4 4 4 4 0001 1010 1000, 1010 1000 0*2 3 +0*2 2 +0*2 1 +1*2 0 1*2 3 +0*2 2 +1*2 1 +0*2 0 1*2 3 +0*2 2 +0*2 1 +0*2 0 1*2 3 +0*2 2 +1*2 1 +0*2 0 1*2 3 +0*2 2 +0*2 1 +0*2 0 1 10 8, 10 8 1 A 8, A 8 110101000 2 1Α8,Α8 16
Μετατροπή από δεκαεξαδικό σε δυαδικό. 1Α8,Α8 16 X 2 1 A 8, A 8 1 10 8, 10 8 0*2 3 +0*2 2 +0*2 1 +1*2 0 1*2 3 +0*2 2 +1*2 1 +0*2 0 1*2 3 +0*2 2 +0*2 1 +0*2 0 1*2 3 +0*2 2 +1*2 1 +0*2 0 1*2 3 +0*2 2 +0*2 1 +0*2 0 0001 1010 1000, 1010 1000 1Α8,Α8 16 110101000 2