Δευτέρα, 6 Οκτωβρίου 2008

Μετατροπές αριθμών

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

Κατά συνθήκη, χρησιμοποιούμε τα ίδια ψηφία με ίδια αξία και σε συστήματα με μεγαλύτερη βάση. Π.χ. Το τέσσερα του οκταδικού συστήματος είναι ίδια ποσότητα με το τέσσερα του δεκαδικού συστήματος κλπ. Συνοπτικά : 48 = 410 = 416

1.0 Μετατροπή από το δυαδικό σύστημα στο δεκαδικό σύστημα :

1.1 Έχουμε τον αριθμό 101102 και θέλουμε να βρούμε την τιμή του στο δεκαδικό σύστημα. Αν χρησιμοποιήσουμε τις δυνάμεις της βάσης (σύμβολο ^ για την ύψωση σε δύναμη), η τιμή αυτή θα είναι
101102 = 1 * 2^4 + 0 * 2^3 + 1 * 2^2 + 1 * 2^1 + 0 * 2^0
= 1 * 16 + 0 * 8 + 1 * 4 + 1 * 2 + 0 * 1
= 16 + 4 + 2
= 22 .

Είναι εύκολο να μάθουμε τις αρχικές δυνάμεις του δύο : 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536.

1.2 Ας θυμηθούμε το σχήμα Horner για τον υπολογισμό της τιμής των πολυωνύμων χωρίς υψώσεις σε δύναμη, (αρχίζουμε από τον αριστερότερο συντελεστή, πολλαπλασιάζουμε επί την μεταβλητή και προσθέτουμε τον δίπλα-δεξιά συντελεστή, και επαναλαμβάνουμε αν υπάρχουν άλλα μονώνυμα).
a * x3 + b * x2 + c * x + d = ( ( a * x + b ) * x + c ) * x + d

Χρησιμοποιώντας το σχήμα Horner, (αρχίζουμε από το αριστερότερο ψηφίο, πολλαπλασιάζουμε επί την βάση και προσθέτουμε το δίπλα-δεξιά ψηφίο, και επαναλαμβάνουμε αν υπάρχουν άλλα ψηφία), η τιμή για το 101102 του προηγούμενου παραδείγματος βρίσκεται και έτσι :
101102 = (((1 * 2 + 0) * 2 + 1) * 2 + 1) * 2 + 0
= ((2 * 2 + 1) * 2 + 1) * 2 + 0
= (5 * 2 + 1) * 2 + 0
= 11 * 2 + 0
= 22 .

2.0 Μετατροπή από το δυαδικό σύστημα σε σύστημα με βάση [δύναμη του δύο] :

2.1 Έχουμε τους αριθμούς 101102, 101010.01012 και θέλουμε να βρούμε την τιμή τους στο οκταδικό σύστημα.

Επειδή το οκτώ είναι το [δύο στην τρίτη δύναμη], αν χωρίσουμε τα ψηφία των αριθμών σε τριάδες από την υποδιαστολή προς τα αριστερά, (συμπληρώνοντας με μηδενικά αριστερά από το ακέραιο μέρος) και από την υποδιαστολή προς τα δεξιά, (συμπληρώνοντας με μηδενικά δεξιά από το κλασματικό μέρος), τότε ο μετασχηματισμός γίνεται απλά.

101102 = 010 1102
= 2 68
= 2 * 8 + 6
= 22

101010.01012 = 101 010 . 010 1002
= 5 2 . 2 48
= 5 * 8^1 + 2 * 8^0 + 2 * 8^(-1) + 4 * 8^(-2)
= 5 * 8 + 2 + 2 * (1/8) + 4 * (1/64)
= 40 + 2 + 0.25 + 0.0625
= 42.3125

2.2 Αν θέλουμε να μετατρέψουμε τους ίδιους δυαδικούς του προηγούμενου παραδείγματος σε δεκαεξαδικούς, επειδή το δεκαέξι είναι το [δύο στην τετάρτη δύναμη], θα χωρίσουμε τα ψηφία τους σε τετράδες.

101102 = 0001 01102
= 1 616
= 1 * 16^1 + 6 * 16^0
= 1 * 16 + 6
= 22

101010.01012 = 0010 1010 . 01012
= 2 A . 516
= 2 * 16^1 + 10 * 16^0 + 5 * 16^(-1)
= 2 * 16 + 10 + 5 * (1/16)
= 32 + 10 + 0.3125
= 42.3125

3.0 Μετατροπή από το δεκαδικό σύστημα σε άλλο:

3.1 Ας μετατρέψουμε τον 42.3125 σε οκταδικό. Οι δυνάμεις του οκτώ είναι (σε φθίνουσα σειρά):

8^2 = 64,
8^1 = 8,
8^0 = 1,
8^(-1) = 0.125,
8^(-2) = 0.015625,
8^(-3) = 0.001953125, ...

Εξηντατεσσάρια [64] ο αριθμός μας, 42.3125, δεν περιέχει.
Πόσα οκτάρια [8] περιέχει; Πέντε [5] και μένει υπόλοιπο 2.3125 .
Πόσους άσους [1] περιέχει αυτό; Δύο [2] και μένει υπόλοιπο 0.3125 . Εδώ περνάμε στο κλασματικό μέρος (θέση υποδιαστολής).
Πόσα [0.125] περιέχει αυτό; Δύο [2] και μένει υπόλοιπο 0.0625 .
Πόσα [0.015625] περιέχει αυτό; Τέσσερα [4] και μένει υπόλοιπο μηδέν.
Σταματάμε εδώ έχοντας βρει αποτέλεσμα 52.248.

3.2.1 Ας μετατρέψουμε τον 22 σε δυαδικό. Δυνάμεις του δύο σε φθίνουσα σειρά είναι
2^5 = 32,
2^4 = 16,
2^3 = 8,
2^2 = 4,
2^1 = 2,
2^0 = 1.

Τριανταδυάρια [32] ο αριθμός μας, 22, δεν περιέχει.
Πόσα δεκαεξάρια [16] περιέχει; Ένα [1] και μένει υπόλοιπο 6.
Πόσα οκτάρια [8] περιέχει αυτό; Μηδέν [0] και μένει υπόλοιπο 6.
Πόσα τεσσάρια [4] περιέχει αυτό; Ένα [1] και μένει υπόλοιπο 2.
Πόσα δυάρια [2] περιέχει αυτό; Ένα [1] και μένει υπόλοιπο μηδέν.
Πόσους άσους [1] περιέχει αυτό; Μηδέν [0] και τελειώσαμε με το ακέραιο μέρος.
Σταματάμε εδώ έχοντας βρει 101102.

3.2.2 Με διαφορετικό τρόπο τώρα θα μετατρέψουμε τον δεκαδικό 22 σε δυαδικό :

Το δύο διαιρεί τον αριθμό 22, με πηλίκο 11 και υπόλοιπο [0].
Το δύο διαιρεί το πηλίκο 11, με πηλίκο 5 και υπόλοιπο [1].
Το δύο διαιρεί το πηλίκο 5, με πηλίκο 2 και υπόλοιπο [1].
Το δύο διαιρεί το πηλίκο 2, με πηλίκο 1 και υπόλοιπο [0].
Το δύο διαιρεί το πηλίκο 1, με πηλίκο 0 και υπόλοιπο [1].
Σταματάμε όταν φθάσουμε σε μηδενικό πηλίκο και ο αριθμός που ζητούμε είναι τα υπόλοιπα με ανάποδη σειρά: 101102.

4.0 Μετατροπή από το δεκαεξαδικό σύστημα σε άλλο:

4.1 Για να βρούμε στο δεκαδικό σύστημα ποιός αριθμός ισούται με τον δεκαεξαδικό F1616, χρησιμοποιούμε το σχήμα Horner.

F 1 616 = ((F * 16 + 1) * 16 + 6
= ((15 * 16 + 1) * 16 + 6
= 241 * 16 + 6
= 3862.

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

F 1 616 = 1111 0001 01102
= 1111000101102
= 111 100 010 1102
= 7 4 2 68.

Πόρισμα : Όσο μικρότερη είναι η βάση του συστήματος αρίθμησης, τόσο περισσότερα ψηφία χρειάζονται για να εκφραστεί η ίδια αριθμητική ποσότητα. Π.χ. F1616 = 74268 = 1111000101102

Δεν υπάρχουν σχόλια: