Μετατροπή αριθμών σε δυαδικά, δεκαεξαδικά, δεκαδικά, οκταδικά συστήματα αριθμών. Hex κωδικός

Η μετατροπή αριθμών από ένα σύστημα αριθμών σε ένα άλλο είναι ένα σημαντικό μέρος της αριθμητικής μηχανής. Ας εξετάσουμε τους βασικούς κανόνες της μετάφρασης.

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

Κατά τη μετάφραση, είναι βολικό να χρησιμοποιήσετε τον πίνακα εξουσιών των δύο:

Πίνακας 4. Δυνάμεις του αριθμού 2

n (πτυχίο)

Παράδειγμα.

2. Για να μετατρέψετε έναν οκταδικό αριθμό σε δεκαδικό, είναι απαραίτητο να τον γράψετε ως πολυώνυμο που αποτελείται από τα γινόμενα των ψηφίων του αριθμού και την αντίστοιχη ισχύ του αριθμού 8 και να τον υπολογίσετε σύμφωνα με τους κανόνες του δεκαδικού αριθμητική:

Κατά τη μετάφραση, είναι βολικό να χρησιμοποιήσετε τον πίνακα δυνάμεων των οκτώ:

Πίνακας 5. Δυνάμεις του αριθμού 8

n (πτυχίο)

Παράδειγμα.Μετατρέψτε τον αριθμό στο σύστημα δεκαδικών αριθμών.

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

Κατά τη μετάφραση, είναι βολικό στη χρήση blitz των δυνάμεων του αριθμού 16:

Πίνακας 6. Δυνάμεις του αριθμού 16

n (πτυχίο)

Παράδειγμα.Μετατρέψτε τον αριθμό στο σύστημα δεκαδικών αριθμών.

4. Για να μετατρέψετε έναν δεκαδικό αριθμό στο δυαδικό σύστημα, πρέπει να διαιρεθεί διαδοχικά με το 2 έως ότου παραμείνει ένα υπόλοιπο μικρότερο ή ίσο με 1 Ένας αριθμός στο δυαδικό σύστημα γράφεται ως ακολουθία του αποτελέσματος της τελευταίας διαίρεσης και τα υπόλοιπα από η διαίρεση με αντίστροφη σειρά.

Παράδειγμα.Μετατρέψτε τον αριθμό στο δυαδικό σύστημα αριθμών.

5. Για να μετατρέψετε έναν δεκαδικό αριθμό στο οκταδικό σύστημα, πρέπει να διαιρεθεί διαδοχικά με το 8 έως ότου παραμείνει ένα υπόλοιπο μικρότερο ή ίσο του 7 Ένας αριθμός στο οκταδικό σύστημα γράφεται ως ακολουθία ψηφίων του αποτελέσματος της τελευταίας διαίρεσης υπόλοιπο της διαίρεσης με αντίστροφη σειρά.

Παράδειγμα.Μετατρέψτε τον αριθμό στο οκταδικό σύστημα αριθμών.

6. Για να μετατρέψετε έναν δεκαδικό αριθμό στο δεκαεξαδικό σύστημα, πρέπει να διαιρεθεί διαδοχικά με το 16 έως ότου υπάρχει υπόλοιπο μικρότερο ή ίσο του 15. Ένας αριθμός στο δεκαεξαδικό σύστημα γράφεται ως ακολουθία ψηφίων του αποτελέσματος της τελευταίας διαίρεσης και τα υπόλοιπα από τη διαίρεση με αντίστροφη σειρά.

Παράδειγμα.Μετατρέψτε τον αριθμό σε δεκαεξαδικό σύστημα αριθμών.

Όσοι δίνουν τις εξετάσεις του Ενιαίου Κράτους και άλλα...

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

Για παράδειγμα, πρέπει να μετατρέψετε τον αριθμό 810 10 σε δυαδικό:

Γράφουμε το αποτέλεσμα με αντίστροφη σειρά από κάτω προς τα πάνω. Αποδεικνύεται 81010 = 11001010102

Εάν χρειάζεται να μετατρέψετε αρκετά μεγάλους αριθμούς στο δυαδικό σύστημα, τότε η κλίμακα διαίρεσης παίρνει το μέγεθος ενός πολυώροφου κτιρίου. Και πώς μπορείς να μαζέψεις όλα τα μονά και τα μηδενικά και να μην χάσεις ούτε ένα;

Το πρόγραμμα Unified State Exam στην επιστήμη των υπολογιστών περιλαμβάνει διάφορες εργασίες που σχετίζονται με τη μετατροπή αριθμών από ένα σύστημα σε άλλο. Συνήθως, αυτή είναι μια μετατροπή μεταξύ οκταδικών και δεκαεξαδικών συστημάτων και δυαδικών συστημάτων. Αυτά είναι τα τμήματα Α1, Β11. Υπάρχουν όμως προβλήματα και με άλλα συστήματα αριθμών, όπως στην ενότητα Β7.

Ξεκινώντας, ας θυμηθούμε δύο πίνακες που καλό θα ήταν να γνωρίζουν εξ ολοκλήρου όσοι επιλέγουν την πληροφορική ως μελλοντικό τους επάγγελμα.

Πίνακας εξουσιών του αριθμού 2:

2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10
2 4 8 16 32 64 128 256 512 1024

Λαμβάνεται εύκολα πολλαπλασιάζοντας τον προηγούμενο αριθμό με το 2. Έτσι, εάν δεν θυμάστε όλους αυτούς τους αριθμούς, δεν είναι δύσκολο να αποκτήσετε τους υπόλοιπους στο μυαλό σας από αυτούς που θυμάστε.

Πίνακας δυαδικών αριθμών από το 0 έως το 15 με δεκαεξαδική παράσταση:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 ΕΝΑ σι ντο ρε μι φά

Οι τιμές που λείπουν είναι επίσης εύκολο να υπολογιστούν προσθέτοντας 1 στις γνωστές τιμές.

Μετατροπή ακέραιου αριθμού

Λοιπόν, ας ξεκινήσουμε μετατρέποντας απευθείας στο δυαδικό σύστημα. Ας πάρουμε τον ίδιο αριθμό 810 10. Πρέπει να αποσυνθέσουμε αυτόν τον αριθμό σε όρους ίσους με δυνάμεις δύο.

  1. Αναζητούμε την ισχύ δύο πιο κοντά στο 810 και να μην την υπερβούμε. Αυτό είναι 2 9 = 512.
  2. Αφαιρούμε το 512 από το 810, παίρνουμε 298.
  3. Επαναλάβετε τα βήματα 1 και 2 μέχρι να μην έχουν μείνει 1 ή 0.
  4. Το πήραμε ως εξής: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
Στη συνέχεια, υπάρχουν δύο μέθοδοι, μπορείτε να χρησιμοποιήσετε οποιαδήποτε από αυτές. Πόσο εύκολο είναι να δούμε ότι σε οποιοδήποτε σύστημα αριθμών η βάση του είναι πάντα 10. Το τετράγωνο της βάσης θα είναι πάντα 100, ο κύβος 1000. Δηλαδή, ο βαθμός της βάσης του συστήματος αριθμών είναι 1 (ένα) και υπάρχουν τόσα μηδενικά από πίσω, όσα και ο βαθμός.

Μέθοδος 1: Τακτοποιήστε το 1 σύμφωνα με τις τάξεις των δεικτών των όρων. Στο παράδειγμά μας, αυτά είναι τα 9, 8, 5, 3 και 1. Οι υπόλοιπες θέσεις θα περιέχουν μηδενικά. Έτσι, πήραμε τη δυαδική αναπαράσταση του αριθμού 810 10 = 1100101010 2. Οι μονάδες τοποθετούνται στην 9η, 8η, 5η, 3η και 1η θέση, μετρώντας από τα δεξιά προς τα αριστερά από το μηδέν.

Μέθοδος 2: Ας γράψουμε τους όρους ως δυνάμεις δύο ο ένας κάτω από τον άλλο, ξεκινώντας από τον μεγαλύτερο.

810 =

Τώρα ας προσθέσουμε αυτά τα βήματα μαζί, σαν να διπλώνουμε έναν ανεμιστήρα: 1100101010.

Αυτό είναι όλο. Ταυτόχρονα, το πρόβλημα "πόσες μονάδες υπάρχουν στη δυαδική σημείωση του αριθμού 810;"

Η απάντηση είναι τόσοι όσοι υπάρχουν όροι (δυνάμεις δύο) σε αυτή την παράσταση. Το 810 έχει 5 από αυτά.

Τώρα το παράδειγμα είναι πιο απλό.

Ας μετατρέψουμε τον αριθμό 63 στο 5άρι αριθμητικό σύστημα. Η πλησιέστερη ισχύς του 5 στο 63 είναι το 25 (τετράγωνο 5). Ένας κύβος (125) θα είναι ήδη πολύς. Δηλαδή, το 63 βρίσκεται μεταξύ του τετραγώνου του 5 και του κύβου. Στη συνέχεια θα επιλέξουμε τον συντελεστή για 5 2. Αυτό είναι 2.

Παίρνουμε 63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5.

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

Ας μετατρέψουμε τον αριθμό 547 8 σε δυαδικό.

547 8 = 101 100 111
5 4 7

Ένα ακόμη, για παράδειγμα 7D6A 16.

7D6A 16 = (0)111 1101 0110 1010
7 ρε 6 ΕΝΑ

Ας μετατρέψουμε τον αριθμό 7368 στο δεκαεξαδικό σύστημα Πρώτα, γράψτε τους αριθμούς σε τριάδες και στη συνέχεια χωρίστε τους σε τετραπλούς από το τέλος: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16. Ας μετατρέψουμε τον αριθμό C25 16 στο οκταδικό σύστημα. Αρχικά, γράφουμε τους αριθμούς σε τέσσερα και στη συνέχεια τους χωρίζουμε σε τρία από το τέλος: C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8. Τώρα ας δούμε τη μετατροπή σε δεκαδικό. Δεν είναι δύσκολο, το κύριο πράγμα είναι να μην κάνουμε λάθη στους υπολογισμούς. Επεκτείνουμε τον αριθμό σε πολυώνυμο με δυνάμεις της βάσης και συντελεστές για αυτούς. Στη συνέχεια πολλαπλασιάζουμε και προσθέτουμε τα πάντα. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 = 7 * 8 2 + 3*8 + 2 = 474 .

Μετατροπή αρνητικών αριθμών

Εδώ πρέπει να λάβετε υπόψη ότι ο αριθμός θα εμφανίζεται στον κωδικό συμπλήρωμα δύο. Για να μετατρέψετε έναν αριθμό σε πρόσθετο κωδικό, πρέπει να γνωρίζετε το τελικό μέγεθος του αριθμού, δηλαδή σε τι θέλουμε να τον χωρέσουμε - σε ένα byte, σε δύο byte, σε τέσσερα. Το πιο σημαντικό ψηφίο ενός αριθμού σημαίνει το πρόσημο. Αν υπάρχει 0, τότε ο αριθμός είναι θετικός, αν 1, τότε είναι αρνητικός. Στα αριστερά, ο αριθμός συμπληρώνεται με ένα ψηφίο. Δεν θεωρούμε ανυπόγραφους αριθμούς είναι πάντα θετικοί και το πιο σημαντικό κομμάτι σε αυτούς χρησιμοποιείται ως πληροφορία.

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

Λοιπόν, ας μετατρέψουμε τον αριθμό -79 στο δυαδικό σύστημα. Ο αριθμός θα μας πάρει ένα byte.

Μετατρέπουμε το 79 στο δυαδικό σύστημα, 79 = 1001111. Προσθέτουμε μηδενικά στα αριστερά στο μέγεθος του byte, 8 bit, παίρνουμε 01001111. Αλλάζουμε το 1 σε 0 και το 0 σε 1. Παίρνουμε 10110000. Προσθέτουμε 1 στο το αποτέλεσμα, παίρνουμε την απάντηση 10110001. Στην πορεία, απαντάμε στην ερώτηση της Ενιαίας Κρατικής Εξέτασης "Πόσες μονάδες υπάρχουν στη δυαδική αναπαράσταση του αριθμού -79;" Η απάντηση είναι 4.

Η προσθήκη 1 στο αντίστροφο ενός αριθμού εξαλείφει τη διαφορά μεταξύ των αναπαραστάσεων +0 = 00000000 και -0 = 11111111. Στον κώδικα συμπληρώματος δύο θα γραφτούν ίδια με 00000000.

Μετατροπή κλασματικών αριθμών

Οι κλασματικοί αριθμοί μετατρέπονται με τον αντίστροφο τρόπο διαίρεσης ακέραιων αριθμών με τη βάση, τον οποίο εξετάσαμε στην αρχή. Δηλαδή, χρησιμοποιώντας διαδοχικό πολλαπλασιασμό με μια νέα βάση με τη συλλογή ολόκληρων μερών. Τα ακέραια μέρη που λαμβάνονται κατά τον πολλαπλασιασμό συλλέγονται, αλλά δεν συμμετέχουν στις ακόλουθες πράξεις. Μόνο τα κλάσματα πολλαπλασιάζονται. Εάν ο αρχικός αριθμός είναι μεγαλύτερος από 1, τότε ο ακέραιος και ο κλασματικός αριθμός μεταφράζονται χωριστά και στη συνέχεια κολλούνται μεταξύ τους.

Ας μετατρέψουμε τον αριθμό 0,6752 στο δυαδικό σύστημα.

0 ,6752
*2
1 ,3504
*2
0 ,7008
*2
1 ,4016
*2
0 ,8032
*2
1 ,6064
*2
1 ,2128

Η διαδικασία μπορεί να συνεχιστεί για μεγάλο χρονικό διάστημα μέχρι να πάρουμε όλα τα μηδενικά στο κλασματικό μέρος ή να επιτευχθεί η απαιτούμενη ακρίβεια. Ας σταματήσουμε προς το παρόν στο 6ο ζώδιο.

Αποδεικνύεται 0,6752 = 0,101011.

Εάν ο αριθμός ήταν 5,6752, τότε σε δυαδικό θα είναι 101,101011.

Σημείωση 1

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

Κανόνες μετατροπής αριθμών από οποιοδήποτε σύστημα αριθμών σε δεκαδικό

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

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

    $X_2=A_n \cdot 2^(n-1) + A_(n-1) \cdot 2^(n-2) + A_(n-2) \cdot 2^(n-3) + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

Εικόνα 1. Πίνακας 1

Παράδειγμα 1

Μετατρέψτε τον αριθμό $11110101_2$ στο δεκαδικό σύστημα αριθμών.

Λύση.Χρησιμοποιώντας τον δεδομένο πίνακα με τις δυνάμεις $1$ της βάσης $2$, αντιπροσωπεύουμε τον αριθμό ως πολυώνυμο:

$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 616 + 128 + 0 + 4 + 0 + 1 = 245_(10)$

    Για να μετατρέψετε έναν αριθμό από το οκταδικό σύστημα αριθμών στο δεκαδικό σύστημα αριθμών, πρέπει να τον αναπαραστήσετε ως πολυώνυμο, κάθε στοιχείο του οποίου αναπαρίσταται ως γινόμενο ενός ψηφίου του αριθμού και της αντίστοιχης ισχύος του βασικού αριθμού, σε αυτό περίπτωση $8$ και, στη συνέχεια, πρέπει να υπολογίσετε το πολυώνυμο σύμφωνα με τους κανόνες της δεκαδικής αριθμητικής:

    $X_8 = A_n \cdot 8^(n-1) + A_(n-1) \cdot 8^(n-2) + A_(n-2) \cdot 8^(n-3) + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

Εικόνα 2. Πίνακας 2

Παράδειγμα 2

Μετατρέψτε τον αριθμό $75013_8$ στο σύστημα δεκαδικών αριθμών.

Λύση.Χρησιμοποιώντας τον δεδομένο πίνακα με τις δυνάμεις $2$ της βάσης $8$, αντιπροσωπεύουμε τον αριθμό ως πολυώνυμο:

75013_8 $ = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_(10)$

    Για να μετατρέψετε έναν αριθμό από δεκαεξαδικό σε δεκαδικό, πρέπει να τον αναπαραστήσετε ως πολυώνυμο, κάθε στοιχείο του οποίου αντιπροσωπεύεται ως το γινόμενο ενός ψηφίου του αριθμού και της αντίστοιχης ισχύος του βασικού αριθμού, σε αυτήν την περίπτωση $16$, και στη συνέχεια πρέπει να υπολογίσετε το πολυώνυμο σύμφωνα με τους κανόνες της δεκαδικής αριθμητικής:

    $X_(16) = A_n \cdot 16^(n-1) + A_(n-1) \cdot 16^(n-2) + A_(n-2) \cdot 16^(n-3) + . .. + A_2 \cdot 16^1 + A_1 \cdot 16^0$

Εικόνα 3. Πίνακας 3

Παράδειγμα 3

Μετατρέψτε τον αριθμό $FFA2_(16)$ στο δεκαδικό σύστημα αριθμών.

Λύση.Χρησιμοποιώντας τον δεδομένο πίνακα με τις δυνάμεις $3$ της βάσης $8$, αντιπροσωπεύουμε τον αριθμό ως πολυώνυμο:

$FFA2_(16) = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_(10)$

Κανόνες μετατροπής αριθμών από το δεκαδικό σύστημα αριθμών σε άλλο

  • Για να μετατρέψετε έναν αριθμό από το δεκαδικό σύστημα αριθμών στο δυαδικό σύστημα, πρέπει να διαιρεθεί διαδοχικά με $2$ μέχρι να υπάρξει υπόλοιπο μικρότερο ή ίσο με $1$. Ένας αριθμός στο δυαδικό σύστημα αναπαρίσταται ως ακολουθία του τελευταίου αποτελέσματος της διαίρεσης και των υπολοίπων από τη διαίρεση με αντίστροφη σειρά.

Παράδειγμα 4

Μετατρέψτε τον αριθμό $22_(10)$ στο δυαδικό σύστημα αριθμών.

Λύση:

Εικόνα 4.

$22_{10} = 10110_2$

  • Για να μετατρέψετε έναν αριθμό από το δεκαδικό σύστημα αριθμών στο οκταδικό σύστημα αριθμών, πρέπει να διαιρεθεί διαδοχικά με $8$ έως ότου υπάρχει υπόλοιπο μικρότερο ή ίσο με $7$. Ένας αριθμός στο οκταδικό σύστημα αριθμών αναπαρίσταται ως μια ακολουθία ψηφίων του αποτελέσματος της τελευταίας διαίρεσης και των υπολοίπων από τη διαίρεση με αντίστροφη σειρά.

Παράδειγμα 5

Μετατρέψτε τον αριθμό $571_(10)$ στο οκταδικό σύστημα αριθμών.

Λύση:

Εικόνα 5.

$571_{10} = 1073_8$

  • Για να μετατρέψετε έναν αριθμό από το δεκαδικό σύστημα αριθμών στο δεκαεξαδικό σύστημα, πρέπει να διαιρεθεί διαδοχικά με $16$ έως ότου υπάρξει ένα υπόλοιπο μικρότερο ή ίσο με $15$. Ένας αριθμός στο δεκαεξαδικό σύστημα αναπαρίσταται ως μια ακολουθία ψηφίων του αποτελέσματος της τελευταίας διαίρεσης και των υπολοίπων από τη διαίρεση με αντίστροφη σειρά.

Παράδειγμα 6

Μετατρέψτε τον αριθμό $7467_(10)$ σε δεκαεξαδικό σύστημα αριθμών.

Λύση:

Εικόνα 6.

$7467_(10) = 1D2B_(16)$

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

    Για παράδειγμα: $0,3125_((10))$ στο σύστημα οκταδικών αριθμών θα μοιάζει με $0,24_((8))$.

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

Κανόνες μετατροπής αριθμών από δυαδικό σύστημα αριθμών σε άλλο

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

Εικόνα 7. Πίνακας 4

Παράδειγμα 7

Μετατρέψτε τον αριθμό $1001011_2$ στο οκταδικό σύστημα αριθμών.

Λύση. Χρησιμοποιώντας τον Πίνακα 4, μετατρέπουμε τον αριθμό από το δυαδικό σύστημα αριθμών σε οκταδικό:

$001 001 011_2 = 113_8$

  • Για να μετατρέψετε έναν αριθμό από το δυαδικό σύστημα αριθμών σε δεκαεξαδικό, θα πρέπει να διαιρεθεί σε τετράδια (τέσσερα ψηφία), ξεκινώντας με το λιγότερο σημαντικό ψηφίο, εάν είναι απαραίτητο, προσθέτοντας μηδενικά στο πιο σημαντικό τετράδιο και, στη συνέχεια, αντικαταστήστε κάθε τετράδιο με το αντίστοιχο οκταδικό ψηφίο σύμφωνα με τον Πίνακα 4.
Σκοπός της υπηρεσίας. Η υπηρεσία έχει σχεδιαστεί για να μετατρέπει αριθμούς από ένα σύστημα αριθμών σε ένα άλλο online. Για να το κάνετε αυτό, επιλέξτε τη βάση του συστήματος από το οποίο θέλετε να μετατρέψετε τον αριθμό. Μπορείτε να εισάγετε και ακέραιους και αριθμούς με κόμματα.

Αριθμός

Μετατροπή από αριθμητικό σύστημα 10 2 8 16. Μετατροπή σε αριθμητικό σύστημα 2 10 8 16.
Για κλασματικούς αριθμούς, χρησιμοποιήστε 2 3 4 5 6 7 8 δεκαδικά ψηφία.

Μπορείτε να εισαγάγετε και ακέραιους αριθμούς, για παράδειγμα 34, και κλασματικούς αριθμούς, για παράδειγμα, 637.333. Για τους κλασματικούς αριθμούς, υποδεικνύεται η ακρίβεια μετάφρασης μετά την υποδιαστολή.

Τα ακόλουθα χρησιμοποιούνται επίσης με αυτήν την αριθμομηχανή:

Τρόποι αναπαράστασης αριθμών

Δυάδικος (δυαδικοί) αριθμοί - κάθε ψηφίο σημαίνει την τιμή ενός bit (0 ή 1), το πιο σημαντικό bit γράφεται πάντα στα αριστερά, το γράμμα "b" τοποθετείται μετά τον αριθμό. Για ευκολία αντίληψης, τα σημειωματάρια μπορούν να χωριστούν με κενά. Για παράδειγμα, 1010 0101b.
Δεκαεξαδικό (δεκαεξαδικοί) αριθμοί - κάθε τετράδα αντιπροσωπεύεται από ένα σύμβολο 0...9, A, B, ..., F. Αυτή η αναπαράσταση μπορεί να οριστεί με διαφορετικούς τρόπους εδώ μόνο το σύμβολο "h" χρησιμοποιείται μετά το τελευταίο δεκαεξαδικό ψηφίο. Για παράδειγμα, A5h. Στα κείμενα του προγράμματος, ο ίδιος αριθμός μπορεί να οριστεί είτε ως 0xA5 είτε ως 0A5h, ανάλογα με τη σύνταξη της γλώσσας προγραμματισμού. Ένα αρχικό μηδέν (0) προστίθεται στα αριστερά του πιο σημαντικού δεκαεξαδικού ψηφίου που αντιπροσωπεύεται από το γράμμα για τη διάκριση μεταξύ αριθμών και συμβολικών ονομάτων.
Δεκαδικός (δεκαδικοί) αριθμοί - κάθε byte (λέξη, διπλή λέξη) αντιπροσωπεύεται από έναν κανονικό αριθμό και το δεκαδικό σύμβολο αναπαράστασης (το γράμμα "d") συνήθως παραλείπεται. Το byte στα προηγούμενα παραδείγματα έχει δεκαδική τιμή 165. Σε αντίθεση με τον δυαδικό και δεκαεξαδικό συμβολισμό, το δεκαδικό είναι δύσκολο να προσδιοριστεί νοερά η τιμή κάθε bit, κάτι που μερικές φορές είναι απαραίτητο.
Οκτάεδρος (οκταδικοί) αριθμοί - κάθε τριπλό bit (η διαίρεση ξεκινά από το λιγότερο σημαντικό) γράφεται ως αριθμός 0–7, με ένα «o» στο τέλος. Ο ίδιος αριθμός θα γραφόταν ως 245ο. Το οκταδικό σύστημα δεν είναι βολικό επειδή το byte δεν μπορεί να διαιρεθεί ίσα.

Αλγόριθμος για τη μετατροπή αριθμών από ένα σύστημα αριθμών σε άλλο

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

Παράδειγμα Νο. 1.



Μετατροπή από 2 σε 8 σε 16 αριθμητικό σύστημα.
Αυτά τα συστήματα είναι πολλαπλάσια των δύο, επομένως η μετάφραση πραγματοποιείται χρησιμοποιώντας έναν πίνακα αντιστοιχίας (βλ. παρακάτω).

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

Παράδειγμα Νο. 2. 1010111010.1011 = 1.010.111.010.101.1 = 1272.51 8
εδώ 001=1; 010=2; 111=7; 010=2; 101=5; 001=1

Κατά τη μετατροπή στο δεκαεξαδικό σύστημα, πρέπει να διαιρέσετε τον αριθμό σε μέρη τεσσάρων ψηφίων, ακολουθώντας τους ίδιους κανόνες.
Παράδειγμα Νο. 3. 1010111010,1011 = 10.1011.1010,1011 = 2B12,13 HEX
εδώ 0010=2; 1011=B; 1010=12; 1011=13

Η μετατροπή των αριθμών από το 2, το 8 και το 16 στο δεκαδικό σύστημα πραγματοποιείται με σπάσιμο του αριθμού σε μεμονωμένους και πολλαπλασιασμό του με τη βάση του συστήματος (από το οποίο μεταφράζεται ο αριθμός) που αυξάνεται στην ισχύ που αντιστοιχεί στον αύξοντα αριθμό του ο αριθμός που μετατρέπεται. Σε αυτήν την περίπτωση, οι αριθμοί αριθμούνται στα αριστερά της υποδιαστολής (ο πρώτος αριθμός αριθμείται 0) με αύξηση, και στα δεξιά με φθίνουσα (δηλαδή, με αρνητικό πρόσημο). Τα αποτελέσματα που λαμβάνονται αθροίζονται.

Παράδειγμα αρ. 4.
Ένα παράδειγμα μετατροπής από δυαδικό σε δεκαδικό σύστημα αριθμών.

1010010.101 2 = 1·2 6 +0·2 5 +1·2 4 +0·2 3 +0·2 2 +1·2 1 +0·2 0 + 1·2 -1 +0·2 - 2 + 1 2 -3 =
= 64+0+16+0+0+2+0+0,5+0+0,125 = 82,625 10 Παράδειγμα μετατροπής από οκταδικό σε δεκαδικό σύστημα αριθμών. 108,5 8 = 1*·8 2 +0·8 1 +8·8 0 + 5·8 -1 = 64+0+8+0,625 = 72,625 10 Παράδειγμα μετατροπής από δεκαεξαδικό σε δεκαδικό σύστημα αριθμών. 108,5 16 = 1·16 2 +0·16 1 +8·16 0 + 5·16 -1 = 256+0+8+0,3125 = 264,3125 10

Για άλλη μια φορά επαναλαμβάνουμε τον αλγόριθμο για τη μετατροπή αριθμών από ένα σύστημα αριθμών σε ένα άλλο PSS

  1. Από το δεκαδικό σύστημα αριθμών:
    • διαιρέστε τον αριθμό με τη βάση του συστήματος αριθμών που μεταφράζεται.
    • Να βρείτε το υπόλοιπο κατά τη διαίρεση ενός ακέραιου μέρους ενός αριθμού.
    • καταγράψτε όλα τα υπόλοιπα από τη διαίρεση με αντίστροφη σειρά.
  2. Από το δυαδικό σύστημα αριθμών
    • Για τη μετατροπή στο δεκαδικό σύστημα αριθμών, είναι απαραίτητο να βρεθεί το άθροισμα των γινομένων της βάσης 2 με τον αντίστοιχο βαθμό ψηφίου.
    • Για να μετατρέψετε έναν αριθμό σε οκταδικό, πρέπει να χωρίσετε τον αριθμό σε τριάδες.
      Για παράδειγμα, 1000110 = 1.000 110 = 106 8
    • Για να μετατρέψετε έναν αριθμό από δυαδικό σε δεκαεξαδικό, πρέπει να διαιρέσετε τον αριθμό σε ομάδες των 4 ψηφίων.
      Για παράδειγμα, 1000110 = 100 0110 = 46 16
Το σύστημα ονομάζεται θέσιο, για το οποίο η σημασία ή το βάρος ενός ψηφίου εξαρτάται από τη θέση του στον αριθμό. Η σχέση μεταξύ των συστημάτων εκφράζεται σε έναν πίνακα.
Πίνακας αντιστοιχίας συστήματος αριθμών:
Δυαδικό SSΔεκαεξαδικό SS
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 ΕΝΑ
1011 σι
1100 ντο
1101 ρε
1110 μι
1111 φά

Πίνακας για μετατροπή σε οκταδικό αριθμητικό σύστημα

Υπάρχουν δυσκολίες ή παρεξηγήσεις με τη μετατροπή αριθμών από δυαδικό σε δεκαεξαδικό; Εγγραφείτε μαζί μου για ατομικά μαθήματα πληροφορικής και ΤΠΕ. Στα ιδιαίτερα μαθήματά μας, οι μαθητές μου και εγώ αναλύουμε όχι μόνο το θεωρητικό μέρος, αλλά και λύνουμε έναν κολοσσιαίο αριθμό διαφορετικών θεματικών ασκήσεων.

Πρέπει να ξέρετε τι είναι ένα δυαδικό ή δυαδικό σύστημα αριθμών

Πριν σκεφτείτε πώς να μετατρέψετε έναν αριθμό από το 2 στο 16, πρέπει να κατανοήσετε καλά τους αριθμούς στο δυαδικό σύστημα αριθμών. Επιτρέψτε μου να σας υπενθυμίσω ότι το αλφάβητο του δυαδικού συστήματος αριθμών αποτελείται από δύο έγκυρα στοιχεία - 0 Και 1 . Αυτό σημαίνει ότι απολύτως οποιοσδήποτε αριθμός γραμμένος σε δυαδική μορφή θα αποτελείται από ένα σύνολο μηδενικών και μονάδων. Ακολουθούν παραδείγματα αριθμών γραμμένων σε δυαδική αναπαράσταση: 10010, 100, 111101010110, 1000001.

Πρέπει να ξέρετε ποιο είναι το δεκαεξαδικό σύστημα αριθμών

Καταλάβαμε το δυαδικό σύστημα, θυμηθήκαμε τα βασικά σημεία, τώρα ας μιλήσουμε για το δεκαεξαδικό σύστημα. Το αλφάβητο του δεκαεξαδικού συστήματος αριθμών αποτελείται από δεκαέξι διαφορετικούς χαρακτήρες: 10 αραβικούς αριθμούς (από το 0 έως το 9) και 6 πρώτα κεφαλαία λατινικά γράμματα (από το "A" έως το "F"). Αυτό σημαίνει ότι απολύτως οποιοσδήποτε αριθμός γραμμένος σε δεκαεξαδικό θα αποτελείται από χαρακτήρες από το παραπάνω αλφάβητο. Ακολουθούν παραδείγματα αριθμών γραμμένων με δεκαεξαδικό συμβολισμό:

810ΑFCDF198303 100FFF0

Ας μιλήσουμε για τον αλγόριθμο μετατροπής ενός αριθμού από το 2 σε δεκαεξαδικό σύστημα αριθμών

Σίγουρα θα χρειαστεί να εξετάσουμε τον πίνακα κωδικοποίησης Tetrad. Χωρίς τη χρήση αυτού του πίνακα, θα είναι αρκετά δύσκολο να μετατρέψετε γρήγορα τους αριθμούς από το σύστημα 2 σε 16.

Ο σκοπός του πίνακα κωδικοποίησης Tetrad είναι να αντιστοιχίσει μοναδικά τα σύμβολα του δυαδικού συστήματος αριθμών και του δεκαεξαδικού συστήματος αριθμών.

Ο πίνακας Tetrad έχει την ακόλουθη δομή:

Τραπέζι Tetrad

0000 - 0

0001 - 1

0010 - 2

0011 - 3

0100 - 4

0101 - 5

0110 - 6

0111 - 7

1000 - 8

1001 - 9

1010 - ΕΝΑ

1011 - σι

1100 - ντο

1101 - ρε

1110 - μι

1111 - φά

Ας υποθέσουμε ότι πρέπει να μετατρέψουμε τον αριθμό 101011111001010 2 σε δεκαεξαδικό. Πρώτα απ 'όλα, είναι απαραίτητο να διαιρεθεί ο δυαδικός κώδικας πηγής σε ομάδες των τεσσάρων bit και, που είναι πολύ σημαντικό, η διαίρεση πρέπει να ξεκινά από τα δεξιά προς τα αριστερά.

101 . 0111 . 1100 . 1010

Μετά τη διαίρεση, λάβαμε τέσσερις ομάδες: 101, 0111, 1100 και 1010. Το πιο αριστερό τμήμα, δηλαδή το τμήμα 101, απαιτεί ιδιαίτερη προσοχή, όπως μπορείτε να δείτε, το μήκος του είναι 3 ψηφία και είναι απαραίτητο το μήκος του να είναι ίσο σε τέσσερα, επομένως, θα συμπληρώσουμε αυτό το τμήμα με μηδέν:

101 -> 0 101.

Πες μου, σε ποια βάση προσθέτουμε κάποιο 0 στα αριστερά του αριθμού; Το θέμα είναι ότι η προσθήκη ασήμαντων μηδενικών δεν έχει καμία επίδραση στην τιμή του αρχικού αριθμού. Κατά συνέπεια, έχουμε κάθε δικαίωμα να προσθέσουμε όχι μόνο ένα μηδέν στα αριστερά ενός δυαδικού αριθμού, αλλά καταρχήν οποιονδήποτε αριθμό μηδενικών και να πάρουμε έναν αριθμό του απαιτούμενου μήκους.

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

0101 -> 5 0111 -> 7 1100 -> ντο 1010 -> ΕΝΑ

101011111001010 2 = 57CA 16

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

Σύντομα συμπεράσματα

Σε αυτό το σύντομο άρθρο συζητήσαμε το θέμα " Αριθμητικά συστήματα: πώς να μετατρέψετε από 2 σε 16" Εάν έχετε οποιεσδήποτε ερωτήσεις ή παρεξηγήσεις, καλέστε και εγγραφείτε για τα ατομικά μου μαθήματα στην επιστήμη των υπολογιστών και στον προγραμματισμό. Θα σας προτείνω να λύσετε δεκάδες παρόμοιες ασκήσεις και δεν θα σας μείνει ούτε μια ερώτηση. Γενικά, τα συστήματα αριθμών είναι ένα εξαιρετικά σημαντικό θέμα που αποτελεί τη βάση που χρησιμοποιείται σε όλη τη διάρκεια του μαθήματος.



Έχετε ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: