Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

Μετατροπή αριθμών από ένα αριθμητικό σύστημα σε άλλο

Η μετατροπή ενός αριθμού από ένα αριθμητικό σύστημα με βάση β προς το δεκαδικό σύστημα είναι πολύ απλή: υπολογίζουμε την τιμή της παράστασης [pic]

Ο δυαδικός αριθμός 10011(2) στο δεκαδικό σύστημα έχει την τιμή 1·24 + 0·23 + 0·22 + 1·21+1.2°=16+2+1=19(10)

Ο οκταδικός αριθμός 7123,35(8) στο δεκαδικό σύστημα έχει την τιμή 7·83 + 1·82 + 2·81 + 3.8° + 3·8-1 + 5·8-2 = 3584 + 64 +16 + 3 + 0,375 + 0,0781 = 3667,4531 (10).

Ο δεκαεξαδικός αριθμός FC27(16) αντιστοιχεί στο δεκαδικό 15-163 + 12-162 + 2.161 + 7.16° = 61440 + 3072 + 32 + 7 = 64551 (10).

Πιο πολύπλοκη είναι η διαδικασία μετατροπής ενός αριθμού από το δεκαδικό σύστημα σε ένα άλλο σύστημα αρίθμησης με βάση β. Η μετατροπή γίνεται χωριστά για το ακέραιο και χωριστά για το κλασματικό μέρος.

Για να μετατρέψουμε το ακέραιο μέρος του αριθμού Α σε βάση β, κάνουμε διαδοχικές διαιρέσεις του ακεραίου μέρους του Α με τον αριθμό β. Η διαδικασία μετατροπής είναι η εξής:

(1) Διαιρούμε το δεκαδικό αριθμό με το β, και παίρνουμε το πηλίκο Π και το υπόλοιπο Υ. Το υπόλοιπο είναι μία τιμή από Ο έως β-1 και αποτελεί το δεξιότερο ψηφίο του αριθμού.

(2) Διαιρούμε το πηλίκο Π πάλι με το β, και παίρνουμε ένα νέο πηλίκο Π και υπόλοιπο Υ. Γράφουμε το υπόλοιπο (που πάλι είναι μία τιμή από Ο έως β-1) στα αριστερά του αριθμού.

(3) Επαναλαμβάνουμε το βήμα (2) μέχρι το πηλίκο Π να γίνει 0.

Ας δούμε πώς μετατρέπεται ο αριθμός Α=53(10) στο δυαδικό σύστημα (β=2): [pic]

Ας δούμε και τη μετατροπή του αριθμού 312 στο οκταδικό σύστημα: [pic]

Για να μετατρέψουμε το κλασματικό μέρος ενός αριθμού Α από το δεκαδικό σύστημα σε ένα άλλο σύστημα αρίθμησης με βάση β, κάνουμε διαδοχικούς πολλαπλασιασμούς του κλασματικού μέρους του Α με τη βάση β. Το κλασματικό μέρος στο νέο σύστημα αρίθμησης μπορεί να έχει άπειρα ψηφία, γι' αυτό καθορίζουμε από πριν το μέγιστο αριθμό ψηφίων Ν που θα υπολογίσουμε για το νέο σύστημα αρίθμησης. Η διαδικασία μετατροπής είναι η ακόλουθη:

(1) Χρησιμοποιούμε μόνο το κλασματικό μέρος του Α.

(2) Πολλαπλασιάζουμε τον Α με τη βάση β. Το αποτέλεσμα έχει ακέραιο μέρος Μ και κλασματικό μέρος Κ. Το Μ (που έχει τιμή από Ο έως β-1) είναι το αριστερότερο ψηφίο του νέου κλασματικού μέρους Υ.

(3) Πολλαπλασιάζουμε το κλασματικό μέρος Κ με το β και παίρνουμε ένα νέο αποτέλεσμα με ακέραιο μέρος Μ (με τιμή από 0 έως β-1) και κλασματικό μέρος Κ

(4) Γράφουμε το Μ στα δεξιά του νέου κλασματικού μέρους Υ. (5)Επαναλαμβάνουμε τα βήματα (3), (4) έως ότου το Μ να γίνει 0 ή να έχουμε υπολογίσει Ν ψηφία.

Ας υπολογίσουμε την τιμή του κλασματικού αριθμού 0,625(10) στο δυαδικό σύστημα: [pic]

Επίσης ας υπολογίσουμε την τιμή του κλασματικού αριθμού 0,171875(10) στο δεκαξαδικό σύστημα: [pic]

Ας υπολογίσουμε και την τιμή του κλασματικού αριθμού 0,4(10) στο οκταδικό σύστημα. Καθορίζουμε από πριν ότι θα υπολογίσουμε το πολύ 5 οκταδικά ψηφία. [pic]

Εδώ σταματήσαμε τον υπολογισμό παρότι το Μ δεν είναι 0, γιατί φθάσαμε στο μέγιστο αριθμό κλασματικών ψηφίων που επιτρέπουμε. Αν προσέξουμε τις τιμές που παίρνει το Μ, παρατηρούμε ότι μετά από τον υπολογισμό του 4ου κλασματικού ψηφίου το Μ παίρνει την αρχική του τιμή που ήταν 0,4. Έτσι μπορούμε να συμπεράνουμε ότι στο οκταδικό σύστημα ο Α είναι ένας περιοδικός αριθμός, ο 0,31463146…(8) ή αλλιώς 0,3146(8).

Όταν σταματάμε τον υπολογισμό του αριθμού μετά από Ν κλασματικά ψηφία, αν και το Μ δεν είναι Ο, κάνουμε αποκοπή (truncation) του αριθμού. Για να είναι ο υπολογισμός μας όσο πιο ακριβής γίνεται, μπορούμε να κάνουμε στρογγυλοποίηση (rounding). Στη στρογγυλοποίηση υπολογίζουμε άλλο ένα κλασματικό ψηφίο. Αν αυτό είναι μικρότερο από το 1/2 της βάσης, τότε αφήνουμε τον αριθμό όπως είναι, με Ν ψηφία. Αν όμως το επιπλέον ψηφίο είναι μεγαλύτερο ή ίσο από το 1/2 της βάσης, τότε αυξάνουμε το τελευταίο (το Ν-οστό) ψηφίο κατά 1. Έτσι το σφάλμα του υπολογισμού είναι πιο μικρό.

Κατά τη μετατροπή του αριθμού 0,4(10) στο δεκαεξαδικό σύστημα, ολοκληρώσαμε τον υπολογισμό μετά από 5 ψηφία. Το επόμενο ψηφίο που θα υπολογίζαμε είναι το 1, που είναι μικρότερο από το 4 (το 1/2 της βάσης), έτσι και μετά από τη στρογγυλοποίηση ο αριθμός μένει ο ίδιος.

Αν όμως κρατούσαμε μόνο Ν=3 κλασματικά ψηφία στρογγυλοποιώντας το αποτέλεσμα, θα υπολογίζαμε και το 4° ψηφίο που έχει την τιμή 6 > 4. Θα αυξάναμε λοιπόν το 3° ψηφίο κατά 1, και ο αριθμός θα ήταν τελικά ο 0,315(8).

Για να μετατρέψουμε από το δεκαδικό σύστημα αρίθμησης σε άλλο έναν αριθμό που έχει και ακέραιο και κλασματικό μέρος, μετατρέπουμε ξεχωριστά τα δύο μέρη του με τον τρόπο που είδαμε και μετά συνδυάζουμε τα αποτελέσματα.

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

Μια ειδική περίπτωση όμως είναι η μετατροπή μεταξύ του δυαδικού και του οκταδικού ή του δεκαεξαδικού συστήματος. Οι μετατροπές αυτές είναι ιδιαίτερα εύκολες, γιατί οι βάσεις των δύο συστημάτων, το 8 και το 16, είναι δυνάμεις του 2.

Για να μετατρέψουμε ένα δυαδικό αριθμό στο δεκαεξαδικό σύστημα, χωρίζουμε τα ψηφία του σε τετράδες ξεκινώντας από την υποδιαστολή που χωρίζει ακέραιο και κλασματικό μέρος, και προχωρώντας προς τα «άκρα» του αριθμού. Κάθε τέτοια τετράδα αντιστοιχεί σε ένα μονοψήφιο δεκαεξαδικό αριθμό, και την αντικαθιστούμε με το ψηφίο αυτό. Η μετατροπή ενός δεκαεξαδικού αριθμού σε δυαδικό γίνεται αντικαθιστώντας κάθε ψηφίο του αριθμού με τον αντίστοιχο τετραψήφιο δυαδικό αριθμό.

Η μετατροπή από το δυαδικό σύστημα προς το οκταδικό και αντίστροφα γίνεται με τον ίδιο τρόπο, αλλά χωρίζουμε τα δυαδικά ψηφία σε τριάδες αντί για τετράδες.

Για να μετατραπεί σε δεκαεξαδικό, χωρίζουμε το δυαδικό αριθμό 1011011001,11011(2) πρώτα σε τετράδες ξεκινώντας από την υποδιαστολή. Στα «άκρα» του αριθμού προσθέτουμε όσα μηδενικά είναι απαραίτητα, έτσι ώστε να συμπληρωθούν οι τετράδες. Στη συνέχεια αντικαθιστούμε κάθε τετράδα με το αντίστοιχο δεκαεξαδικό ψηφίο. Π.χ. η αριστερότερη τετράδα που είναι 0010 ισοδυναμεί με το ψηφίο 2, ενώ η επόμενη τετράδα 1101 που έχει τιμή 13 ισοδυναμεί με το ψηφίο D. Ο ισοδύναμος δεκαεξαδικός αριθμός είναι ο 2D9,DC(16).

Για να μετατρέψουμε τον ίδιο αριθμό σε οκταδικό τον χωρίζουμε σε τριάδες, προσθέτοντας και πάλι στα άκρα του μηδενικά, αν χρειαστεί. Κάθε τριάδα αντικαθίσταται από το αντίστοιχο οκταδικό ψηφίο. Π.χ. η δεξιότερη τριάδα που είναι 111 έχει την τιμή 7 (1·22 + 1.2 + 1 = 4+2+1 = 7) και αντικαθίσταται με το ψηφίο αυτό. Ο αντίστοιχος οκταδικός αριθμός είναι ο 1331,67(8).

Αντίστροφα, η μετατροπή του δεκαεξαδικού αριθμού 43F,25(16) γίνεται αντικαθιστώντας τα ψηφία του με τον αντίστοιχο τετραψήφιο δυαδικό αριθμό. Π.χ. το ψηφίο 4 θα αντικατασταθεί από τον δυαδικό αριθμό 0100 που έχει την τιμή 4. Ο δυαδικός αριθμός που προκύπτει είναι ο 10000111111,00100101(2).

Στον οκταδικό αριθμό 4567,02(8) θα αντικαταστήσουμε κάθε ψηφίο με τον αντίστοιχο τριψήφιο δυαδικό αριθμό, για να πάρουμε το δυαδικό αριθμό 100101110111,000010(2).

Τα μηδενικά στα «άκρα» των δυαδικών αριθμών (όπως και σε όλα τα συστήματα αρίθμησης) μπορούν να παραλειφθούν.