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

1. Ο τακτικός λογαριασμός σε διάφορα συστήματα αριθμών.

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

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

Δεδομένου ότι έχουμε ένα σύστημα δεκαδικού αριθμού, έχουμε 10 χαρακτήρες (ψηφία) για την κατασκευή αριθμών. Ξεκινάμε τον αριθμό σειράς: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Οι αριθμοί τελειώνουν. Αυξάνουμε την ψηφιακή χωρητικότητα του αριθμού και μηδενίζουμε το λιγότερο σημαντικό ψηφίο: 10. Στη συνέχεια αυξήστε και πάλι το μικρό ψηφίο έως ότου όλα τα ψηφία έχουν τελειώσει: 11, 12, 13, 14, 15, 16, 17, 18, 19. Αυξήστε το κύριο ψηφίο κατά 1 και μηδενίστε το μικρότερο: 20. Όταν χρησιμοποιούμε όλα τα ψηφία και για τα δύο ψηφία (παίρνουμε τον αριθμό 99), αυξάνουμε ξανά την ψηφιακή χωρητικότητα του αριθμού και μηδενίζουμε τα υπάρχοντα ψηφία: 100. Και ούτω καθεξής.

Ας προσπαθήσουμε να κάνουμε το ίδιο και στο 2ο, 3ο και 5ο σύστημα (εισάγουμε τη σημείωση για το 2ο σύστημα, για τον 3ο, κλπ.):

0 0 0 0
1 1 1 1
2 10 2 2
3 11 10 3
4 100 11 4
5 101 12 10
6 110 20 11
7 111 21 12
8 1000 22 13
9 1001 100 14
10 1010 101 20
11 1011 102 21
12 1100 110 22
13 1101 111 23
14 1110 112 24
15 1111 120 30

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

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10
11
12 10
13 11
14 12
15 13

2. Μετατρέψτε από δεκαδική σε οποιαδήποτε άλλη.

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

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

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

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

3. Μετάφραση από οποιοδήποτε σύστημα αριθμών σε δεκαδικό.

Για να μάθουμε πώς να μεταφράζουμε αριθμούς από οποιοδήποτε άλλο σύστημα στο δεκαδικό, θα αναλύσουμε τη συνήθη σημειογραφία του δεκαδικού αριθμού.
  Για παράδειγμα, ο δεκαδικός αριθμός 325 είναι 5 μονάδες, 2 δεκάδες και 3 εκατοστά, δηλ.

Η κατάσταση είναι η ίδια σε άλλα συστήματα αριθμών, μόνο ότι δεν θα πολλαπλασιαστεί με 10, 100 κ.λπ., αλλά από το βαθμό ίδρυσης του αριθμητικού συστήματος. Για παράδειγμα, πάρτε τον αριθμό 1201 στο σύστημα τριμερών αριθμών. Ο αριθμός των ψηφίων από τα δεξιά προς τα αριστερά ξεκινά από το μηδέν και αντιπροσωπεύει τον αριθμό μας ως το άθροισμα των προϊόντων ενός ψηφίου κατά τρεις με το βαθμό ενός ψηφίου ενός αριθμού:

Αυτή είναι η δεκαδική σημείωση του αριθμού μας, δηλ.

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

Παράδειγμα 5   Θα μεταφράσουμε τον δεκαεξαδικό αριθμό 1151 στο δεκαδικό σύστημα.

4. Μεταφορά από δυαδικό σύστημα σε σύστημα με βάση τη "δύναμη των δύο" (4, 8, 16, κλπ.).

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

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

Έμαθα να δημιουργήσουμε έναν πίνακα αντιστοιχίας στην παράγραφο 1.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7

Π.χ.

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

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 Α
1011 Β
1100 Γ
1101 Δ
1110 Ε
1111 F

5. Μεταφέρετε από το σύστημα τη βάση "δύναμη των δύο" (4, 8, 16, κλπ.) Σε δυαδικό.

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

Παράδειγμα 7   Μεταφράζουμε τον δεκαεξαδικό αριθμό C3A6 σε ένα δυαδικό σύστημα αριθμών.

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



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

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

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

  • Δυαδικό
  • Οκτώλ
  • Δεκαδικό
  • Δεκαεξαδικό

1.1 Δεκάδες

Δεδομένου ότι οι αριθμοί είναι γραμματοσειρές σε δεκαδικά ψηφία, παραλείψτε την δεκαδική προς δεκαδική μετάφραση 🙂

1.1.1 Δεκαδικός → Δυαδικός

Όπως γνωρίζουμε, το σύστημα δυαδικών αριθμών χρησιμοποιείται σχεδόν σε όλους τους σύγχρονους υπολογιστές και σε πολλές άλλες υπολογιστικές συσκευές. Το σύστημα είναι πολύ απλό - έχουμε μόνο 0 και 1.
  Για να μετατρέψετε ένα δυαδικό αριθμό σε δυαδικό, πρέπει να χρησιμοποιήσετε διαίρεση modulo 2 (δηλ., Διαιρούμενη ακέραιος κατά 2), ως αποτέλεσμα του οποίου θα έχουμε πάντα το υπόλοιπο ως 1 ή 0. Στην περίπτωση αυτή, γράψτε το αποτέλεσμα από τα δεξιά προς τα αριστερά. Ένα παράδειγμα θα θέσει τα πάντα στη θέση του:


  Σχήμα 1.1 - Μετάφραση αριθμών από δεκαδικό σε δυαδικό


  Εικόνα 1.2 - Μετάφραση αριθμών από δεκαδικό σε δυαδικό

Θα περιγράψω τη διαίρεση των 98. Διαχωρίζουμε 98 με 2, ως αποτέλεσμα έχουμε 49 και το υπόλοιπο 0. Στη συνέχεια, συνεχίζουμε τη διαίρεση και διαιρούμε 49 με 2, ως αποτέλεσμα έχουμε 24 με το υπόλοιπο 1. Και με τον ίδιο τρόπο φτάνουμε στο 1 ή στο 0 διαιρείται. Στη συνέχεια γράψτε το αποτέλεσμα από δεξιά προς τα αριστερά.

1.1.2 Δεκαδικός → Οκτώβριος

Το οκταδικό σύστημα είναι ένα σύστημα ακέραιων αριθμών με μια βάση 8. Αυτό σημαίνει, όλοι οι αριθμοί σε αυτό αντιπροσωπεύονται από το εύρος 0 - 7 και για τη μεταφορά από το δεκαδικό σύστημα πρέπει να χρησιμοποιήσετε το modulo 8.


  Εικόνα 1.3 - Μετάφραση αριθμών από δεκαδικό σε οκταδικό σύστημα

Η διαίρεση είναι παρόμοια με σύστημα 2 σημείων.

1.1.3 Δεκαδικός → δεκαεξαδικός

Το δεκαεξαδικό σύστημα σχεδόν αντικατέστησε το οκταδικό σύστημα. Έχει βάση 16, αλλά χρησιμοποιούνται δεκαδικά ψηφία από 0 έως 9 + Λατινικά γράμματα από Α (αριθμός 10) έως F (αριθμός 15). Το συναντάτε κάθε φορά που ελέγχετε τις ρυθμίσεις του προσαρμογέα δικτύου - αυτή είναι η διεύθυνση MAC. Επίσης όταν χρησιμοποιείτε IPv6.


  Σχήμα 1.4 - Μετάφραση αριθμών από δεκαδικό σε δεκαεξαδικό σύστημα

1.2 Δυαδικό

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

1.2.1 Δυαδικό → Δεκαδικό

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

D \u003d (a n × pn-1) + (a n-1 × pn-2) + (a n-2 × pn-3) + ... (1.2.1)

Πού
D είναι ο δεκαδικός αριθμός που ψάχνουμε.
n   - τον αριθμό χαρακτήρων σε δυαδικό αριθμό,
ο α είναι ένας δυαδικός αριθμός στη θέση η (δηλ. ο πρώτος χαρακτήρας, ο δεύτερος κλπ.).
p - συντελεστής ίσος με 2,8 ή 16 βαθμούς n   (ανάλογα με το σύστημα αριθμών)

Για παράδειγμα, πάρτε τον αριθμό 110102. Αναζητάμε τον τύπο και γράφουμε:

  • Ο αριθμός αποτελείται από 5 χαρακτήρες ( n=5)
  • ένα 5 \u003d 1, 4 \u003d 1, 3 \u003d 0, α \u003d 1, α \u003d 0

  • p \u003d 2 (αφού μετατρέπουμε από δυαδικό σε δεκαδικό)

Ως αποτέλεσμα, έχουμε:

D \u003d (1 × 2 5-1) + (1 × 2 5-2) + (0 × 2 5-3) + (1 × 2 5-4) + (0 × 2 5-5) \u003d 16 + 8 + 0 + 2 + 0 \u003d 26 10

Ποιος συνηθίζεται να γράφει από δεξιά προς τα αριστερά, η φόρμα θα μοιάζει με αυτό:

D \u003d (0 χ 2 5-5) + (1 χ 2 5-4) + (0 χ 2 5-3) + (1 × 2 5-2) + (1 × 2 5-1) \u003d 0 + 2 + 0 + 8 + 16 \u003d 26 10

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


  Εικόνα 1.5 - Μετάφραση αριθμών από δυαδικό σε δεκαδικό σύστημα

1.2.2 Δυαδικό → Οκτάλ

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

10101001 = 0 10 101 001

1011100 = 00 1 011 100

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


  Σχήμα 1.6 - Μετάφραση αριθμών από δυαδικό σε οκταδικό σύστημα

1.2.3 Δυαδικό → δεκαεξαδικό

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

110101011 = 000 1 1010 1011

1011100 = 0 101 1100

001010000 = 00 0101 0000 = 0101 0000

Κάθε ομάδα δυαδικών ψηφίων είναι ένας από τους δεκαεξαδικούς αριθμούς. Χρησιμοποιούμε τον τύπο 1.2.1 για κάθε ομάδα δυαδικών ψηφίων.


  Εικόνα 1.7 - Μετάφραση αριθμών από δυαδικό σε δεκαεξαδικό

1.3 Οκτώβ

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

1.3.1 Οκτώλ → Δυαδικό

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


  Σχήμα 1.8 - Αύξηση της μετάφρασης αριθμών από το οκταδικό σύστημα

Χρησιμοποιώντας αυτήν την πλάκα, μεταφράζουμε τους αριθμούς μας στο δυαδικό σύστημα.


  Εικόνα 1.9 - Μετάφραση αριθμών από οκταδικό σε δυαδικό

Θα περιγράψω λίγο το συμπέρασμα. Ο πρώτος αριθμός είναι 142, οπότε θα υπάρχουν τρεις ομάδες τριών μπιτ σε κάθε μία. Χρησιμοποιούμε το κίνημα και βλέπουμε ότι ο αριθμός 1 είναι 001, ο αριθμός 4 είναι 100 και ο αριθμός 2 είναι 010. Ως αποτέλεσμα, έχουμε τον αριθμό 001100010.

1.3.2 Οκτάλ → Δεκαδικά

Εδώ χρησιμοποιούμε τον τύπο 1.2.1 μόνο με ένα συντελεστή 8 (δηλ. P \u003d 8). Ως αποτέλεσμα, έχουμε


  Εικόνα 1.10 - Μετάφραση αριθμών από οκταδικό σε δεκαδικό σύστημα

  • Ο αριθμός αποτελείται από 3 χαρακτήρες ( n=3)
  • ένα 3 \u003d 1, 2 \u003d 4, 1 \u003d 2

  • p \u003d 8 (αφού μετατρέπουμε από οκταδικό σε δεκαδικό)

Ως αποτέλεσμα, έχουμε:

D \u003d (1 × 8 3-1) + (4 × 8 3-2) + (2 × 8 3-3) \u003d 64 + 32 + 2 \u003d 98 10

1.3.3 Οκτάλ → δεκαεξαδικό

Όπως γράφηκε νωρίτερα, για τη μετάφραση πρέπει πρώτα να μετατρέψουμε τους αριθμούς στο δυαδικό σύστημα, στη συνέχεια από δυαδικό σε δεκαεξαδικό, διαιρώντας σε ομάδες 4-bit. Μπορείτε να χρησιμοποιήσετε την ακόλουθη ώθηση.


  Σχήμα 1.11 - Εκκίνηση της μετάφρασης αριθμών από το δεκαεξαδικό σύστημα

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


  Σχήμα 1.12 - Μετάφραση αριθμών από οκταδικό σε δεκαεξαδικό

1,4 δεκαεξαδικό

Αυτό το σύστημα έχει το ίδιο πρόβλημα όταν μετατρέπεται σε οκταδικό. Αλλά περισσότερα για αυτό αργότερα.

1.4.1 Hex → Δυαδικό

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


  Σχήμα 1.13 - Μετάφραση αριθμών από δεκαεξαδικό σε δυαδικό σύστημα

Πάρτε τον πρώτο αριθμό - 62. Χρησιμοποιώντας την πλάκα (Εικ. 1.11) βλέπουμε ότι 6 είναι 0110, 2 είναι 0010, και ως αποτέλεσμα έχουμε τον αριθμό 01100010.

1.4.2 Hex → Δεκαδικός

Εδώ χρησιμοποιούμε τον τύπο 1.2.1 μόνο με ένα συντελεστή 16 (δηλ. P \u003d 16). Ως αποτέλεσμα, έχουμε


  Σχήμα 1.14 - Μετάφραση αριθμών από δεκαεξαδικό σε δεκαδικό σύστημα

Πάρτε τον πρώτο αριθμό. Με βάση τον τύπο 1.2.1:

  • Ο αριθμός αποτελείται από 2 χαρακτήρες ( n=2)
  • a 2 \u003d 6, a 1 \u003d 2

  • p \u003d 16 (αφού μετατρέπουμε από δεκαεξαδικό σε δεκαδικό)

Ως αποτέλεσμα, έχουμε.

D \u003d (6 χ 16 2-1) + (2 χ 16 2-2) \u003d 96 + 2 \u003d 98 10

1.4.3 Hex → Octal

Για να μετατρέψετε στο οκταδικό σύστημα, πρέπει πρώτα να μετατρέψετε σε δυαδικό, κατόπιν να διαιρέσετε σε ομάδες των 3 bits και να χρησιμοποιήσετε την πλάκα (Εικ. 1.8). Ως αποτέλεσμα:


  Σχήμα 1.15 - Μετάφραση αριθμών από δεκαεξαδικό σε οκταδικό

Θα μιλήσουμε για διευθύνσεις IP, μάσκες και δίκτυα.

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

Vkontakte

Ιστορική αναγνώριση

Η εμφάνιση των δυαδικών SS στην ιστορία συνδέεται με έναν επιστήμονα μαθηματικός V.G. Leibniz.   Ήταν αυτός που πρώτα μίλησε για τους κανόνες για την εκτέλεση πράξεων με αριθμητικές αξίες αυτού του είδους. Αλλά αρχικά η αρχή αυτή παρέμεινε χωρίς αξίωση. Ο αλγόριθμος αναγνωρίστηκε παγκοσμίως και εφαρμόστηκε την αυγή της εμφάνισης των υπολογιστών.

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

Προσοχή!   Ένα συγκεκριμένο σημείο πάνω από την ανωτερότητα του δυαδικού συστήματος πάνω από το δεκαδικό, δηλαδή στον κλάδο αυτόν, καθορίστηκε το 1946 και τεκμηριώνεται σε ένα άρθρο του Α. Becks, του H. Goldstein και του J. Fon Neumann.

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

Χαρακτηριστικά της δυαδικής αριθμητικής

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

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

Στην επιστήμη, στην οποία εφαρμόζεται η ΣΣ, εισάγεται μια ορισμένη ορολογία, η ουσία της οποίας είναι η εξής:

  • Bit - δυαδικό ψηφίο, το οποίο αποτελείται από δύο συνιστώσες που έχουν κάποιο νόημα. Τοποθετημένο στα αριστερά, ορίστηκε ως ανώτερος και αποτελεί προτεραιότητα και στα δεξιά είναι μικρότερο, το οποίο είναι λιγότερο σημαντικό.
  • Ένα byte είναι μια μονάδα που αποτελείται από οκτώ bits.

Πολλές ενότητες αντιλαμβάνονται και επεξεργάζονται πληροφορίες. σε μερίδες ή λέξεις. Κάθε λέξη έχει διαφορετικό βάρος και μπορεί να αποτελείται από 8, 16 ή 32 bit.

Κανόνες μεταφοράς από το ένα σύστημα στο άλλο

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

Μετατρέψτε το δεκαδικό σύστημα σε δυαδικό

Αρχικά, εξετάζουμε το ερώτημα πώς να μεταφράσουμε ένα σύστημα από δεκαδικό σε δυαδικό. Για αυτό υπάρχει κανόνα μετάφρασης   από δεκαδικούς αριθμούς σε δυαδικά, πράγμα που συνεπάγεται μαθηματικές ενέργειες.

Απαιτείται δεκαδική τιμή διαιρέστε με 2. Εκτελέστε τη διαίρεση μέχρι τα ιδιωτικά υπολείμματα μονάδα. Εάν χρειάζεστε ένα δυαδικό σύστημα, η μετάφραση πραγματοποιείται ως εξής:

186: 2 \u003d 93 (στάση 0)

93: 2 \u003d 46 (στάση 1)

46: 2 \u003d 23 (στάση 0)

23: 2 \u003d 11 (στάση 1)

11: 2 \u003d 5 (στάση 1)

5: 2 \u003d 2 (αριστερά 1)

Αφού ολοκληρωθεί η διαδικασία διαίρεσης, τότε η μονάδα στον πηλίκο και όλα τα υπόλοιπα γράφονται διαδοχικά σε αντίστροφη σειρά διαίρεσης. Δηλαδή, 18610 \u003d 1111010. Ο κανόνας για τη μετατροπή δεκαδικών αριθμών σε SS πρέπει πάντα να τηρείται.

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

Δεκαδική έως οκταδική μετατροπή

Μια παρόμοια διαδικασία εκτελείται κατά τη μετατροπή από δεκαδικό SS σε οκταδικό. Ονομάζεται επίσης " κανόνα υποκατάστασης". Εάν στο προηγούμενο παράδειγμα τα δεδομένα διαιρέθηκαν με 2, τότε εδώ είναι απαραίτητο διαιρούμενο με 8.   Ο αλγόριθμος μετατροπής του αριθμού Χ10 σε οκταδικό αποτελείται από τα ακόλουθα βήματα:

  1. Αρχίζουν να χωρίζουν τον αριθμό Χ10 κατά 8. Παίρνουμε το προκύπτον πηλίκο για την επόμενη διαίρεση και το υπόλοιπο γράφεται ως bit χαμηλής τάξης.
  2. Συνεχίστε να διαιρούμε μέχρι να πάρουμε το αποτέλεσμα του ιδίου ίσου μηδέν   ή υπόλειμμα, το οποίο σε αξία λιγότερο από οκτώ. Σε αυτή την περίπτωση, όλα τα υπολείμματα γράφονται ως bit χαμηλής τάξης.

Για παράδειγμα, πρέπει να μεταφράσετε τον αριθμό 160110 σε οκταδικό.

1601: 8 \u003d 200 (στάση 1)

200: 8 \u003d 25 (στάση 0)

25: 8 \u003d 3 (στάση 1)

Έτσι, παίρνουμε: 161010 \u003d 31018.

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

Καταγράψτε τον δεκαδικό αριθμό σε δεκαεξαδικό

Η δεκαδική ως δεκαεξαδική μετατροπή εκτελείται παρομοίως χρησιμοποιώντας το σύστημα αντικατάστασης. Αλλά εκτός από τους αριθμούς, ισχύουν επίσης λατινικά γράμματα   A, B, C, D, E, F. Όταν το Α είναι το υπόλοιπο 10 και το F είναι το υπόλοιπο 15. Το δεκαδικό διαιρείται με 16. Για παράδειγμα, μεταφράστε 10710 σε δεκαεξαδικό:

107: 16 \u003d 6 (διακοπή 11 - αντικατάσταση B)

6 είναι μικρότερη από δεκαέξι. Σταματάμε τη διαίρεση και γράφουμε 10710 \u003d 6B16.

Περνάμε από ένα άλλο σύστημα σε δυαδικό

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

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

Αριθμός

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

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

Μαζί με αυτήν την αριθμομηχανή χρησιμοποιούνται επίσης τα εξής:

Τρόποι εκπροσώπησης αριθμών

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

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

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

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



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

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

Παράδειγμα αριθ. 2. 1010111010,1011 \u003d 1.010.111.010,101.1 \u003d 1272.51 8
εδώ 001 \u003d 1; 010 \u003d 2; 111 \u003d 7; 010 \u003d 2; 101 \u003d 5; 001 \u003d 1

Κατά τη μετάφραση στο δεκαεξαδικό σύστημα, είναι απαραίτητο να διαιρέσετε τον αριθμό σε μέρη, τέσσερα ψηφία, τηρώντας τους ίδιους κανόνες.
Παράδειγμα Νο. 3. 1010111010,1011 \u003d 10.1011.1010,1011 \u003d 2Β12,13 ΗΕΧ
εδώ 0010 \u003d 2; 1011 \u003d Β; 1010 \u003d 12; 1011 \u003d 13

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

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

10 100 10.101 2 \u003d 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 \u003d
\u003d 64 + 0 + 16 + 0 + 0 + 2 + 0 + 0.5 + 0 + 0.125 \u003d 82.625 10 Παράδειγμα μετατροπής από οκταδικό σε δεκαδικό αριθμό. 108.5 8 \u003d 1 * · 8 2 + 0 · 8 1 + 8 · 8 0 + 5 · 8 -1 \u003d 64 + 0 + 8 + 0.625 \u003d 72.625 10 Παράδειγμα μετατροπής από δεκαεξαδικό σε δεκαδικό σύστημα αριθμών. 108.5 16 \u003d 1 · 16 2 + 0 · 16 1 + 8 · 16 0 + 5 · 16 -1 \u003d 256 + 0 + 8 + 0.3125 \u003d 264.3125 10

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

  1. Από την δεκαδική σημείωση:
    • διαιρέστε τον αριθμό από τη βάση του μεταφρασμένου συστήματος αριθμών.
    • βρείτε το υπόλοιπο της διαίρεσης του ακέραιου μέρους του αριθμού.
    • καταγράψτε όλα τα υπόλοιπα από το τμήμα με την αντίστροφη σειρά.
  2. Από το σύστημα δυαδικών αριθμών
    • Για να μετατραπεί σε δεκαδική σημείωση, πρέπει να βρείτε το άθροισμα των προϊόντων της βάσης 2 από τον κατάλληλο βαθμό απόρριψης.
    • Για να μετατρέψετε έναν αριθμό σε οκταδικό, πρέπει να σπάσετε τον αριθμό σε τριάδες.
      Για παράδειγμα, 1000110 \u003d 1,000 110 \u003d 106 8
    • Για να μετατρέψετε έναν αριθμό από ένα σύστημα δυαδικού αριθμού σε δεκαεξαδικό, θα πρέπει να σπάσετε τον αριθμό σε ομάδες των 4 ψηφίων.
      Για παράδειγμα, 1000110 \u003d 100 0110 \u003d 46 16
Το σύστημα θέσης καλείται, για την οποία η σημασία ή το βάρος ενός ψηφίου εξαρτάται από τη θέση του στον αριθμό. Η σχέση μεταξύ των συστημάτων εκφράζεται σε έναν πίνακα.
Πίνακας αλληλογραφίας αριθμητικών συστημάτων:
Δυαδικό ssHex 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 F

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

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

Ένα παράδειγμα.Ο αριθμός 135 θα πρέπει να μετατραπεί από το δεκαδικό δεκαδικό ψηφίο σε 2 δεκαδικά, 8 δεκαδικά και 16 δεκαδικά ψηφία.

1) 2) 3)

Εργασία 2.

Μετατρέψτε τους ακόλουθους αριθμούς 1275,973, 172 σε δυαδικά, οκταδικά και δεκαεξαδικά SS

Αντίστροφη μετάφραση αριθμών από οποιαδήποτε SS σε 10-tuple.

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

2) Η αντίστροφη μετάφραση των αριθμών πραγματοποιείται σύμφωνα με τον τύπο:

όπου A είναι ένας δεδομένος αριθμός,

g - βάση CC ενός δεδομένου αριθμού (\u003d 2 για 2 SSγια άλλους SS - όπως),

m είναι ο αριθμός των ψηφίων στο ακέραιο τμήμα του αριθμού.

n είναι ο αριθμός των ψηφίων στο κλασματικό μέρος του αριθμού,

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

110110 2 = 1*2 5 +1*2 4 +0*2 3 +1*2 2 +1*2 1 +0*2 0 =54 10

66 8 \u003d 6 * 8 1 + 6 * 8 0 \u003d 48 + 6 \u003d 54 10 9Α 16 \u003d 9 * 16 1 + 10 * 16 0 \u003d 144 + 10 \u003d 154 10

13.4 8 \u003d 1 * 8 1 + 3 * 8 0 + 4 * 8 -1 \u003d 8 + 3 + 0.5 \u003d 11.5 10 (αυτός ο αριθμός είναι ένα δεκαδικό κλάσμα)

Εργασία 3.

Μετατρέψτε τους ακόλουθους αριθμούς σε δεκαδικό SS:

101,11 2 =5,75 10 1011001 2 1011,101 2

125,7 8 =86 10 1253 8 175,132 8

A19BA 16 \u003d 2585726 ... 10 16Α3 16 2BAFD 16

Μια μετάφραση των αριθμών με βάση που είναι δύναμη 2 και αντίστροφη μετάφραση.Τέτοια SS περιλαμβάνουν δυαδικά, οκταδικά, δεκαεξαδικά συστήματα αριθμών.



Ο κανόνας. Μετατροπή από δυαδικό SS σε οκταδικό SS. Ο δυαδικός αριθμός διαιρείται σε ομάδες των 3 ψηφίων από το τέλος (από δεξιά προς τα αριστερά) και κάθε ομάδα μετατρέπεται με έναν αριθμό στο νέο SS

10.000.101 2 =205 8

111.000.101.100 2 =7054 8

1.011.001.101 2 =1315 8

Ο κανόνας. Για τον αντίστροφο μετασχηματισμό, κάθε οκταδικό ψηφίο γράφεται ως τριάδα.

Ο κανόνας. Από δυαδικό SS σε δεκαεξαδικό SS: ομοίως, αλλά διαχωρίζεται με 4 ψηφία

0110.0110.1011 2 \u003d 66Β 16

1011.1111.0111 2 \u003d BF7 16

10.1010.0111.0001 2 \u003d 2Α71 16

Ο κανόνας. Για την αντίστροφη μετατροπή, κάθε δεκαεξαδικό ψηφίο γράφεται ως τετράδα.

Μετάφραση ορθών και λανθασμένων κλασμάτων σε διαφορετικές ΣΣ.Εάν θέλετε να μεταφράσετε ένα συνηθισμένο κλάσμα, τότε πρώτα πρέπει να το μετατρέψετε σε δεκαδικό κλάσμα και στη συνέχεια να εφαρμόσετε τους κανόνες για τη μετάφραση των δεκαδικών κλάσεων.

Ο κανόνας. Δεκαδικά κλάσματα μικρότερα του ενός (σωστά κλάσματα).

1) είναι απαραίτητο να χωριστεί το κλασματικό τμήμα με μια κάθετη γραμμή.

2) πολλαπλασιάστε το κλασματικό μέρος με βάση το νέο σύστημα αριθμών.

3) γράψτε το αποτέλεσμα αυστηρά κάτω από τον αρχικό αριθμό, ξεκινώντας με το λιγότερο σημαντικό bit? εάν έχετε τη μεταφορά στο ακέραιο τμήμα, τότε γράψτε την στα αριστερά της γραμμής.

4) το κλασματικό τμήμα πολλαπλασιάζεται μέχρις ότου ληφθεί ένας αριθμός με δεδομένη ακρίβεια ή το 0 δεν βρίσκεται στα δεξιά της γραμμής.

0,728 10 =0,564 8

Εργασία 4.   Μετατρέψτε τα ακόλουθα κανονικά κλάσματα από δεκαδικό SS σε δυαδικό, οκταδικό, δεκαεξαδικό SS :.

Συνέχιση του θέματος:
Υπολογιστής

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