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


Aryabhata
κυριλλικό
Ελληνικά Γεωργιανή
Αιθίοπας
εβραϊκός
Akshara-sankhya Αλλα Βαβυλωνιακός
Αιγύπτιος
Ετρούσκος
ρωμαϊκός
Δουνάβης Σοφίτα
Κιπού
Μάγια
αιγαίο
Σύμβολα KPPU Θέσεως , , , , , , , , , , Nega-positional Συμμετρικός Μικτά συστήματα Φιμπονάτσι Μη θέσεις Μονάδα (μοναδική)

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

Δυαδική σημειογραφία αριθμών

Στο δυαδικό σύστημα αριθμών, οι αριθμοί γράφονται χρησιμοποιώντας δύο σύμβολα ( 0 Και 1 ). Για να αποφευχθεί η σύγχυση ως προς το σε ποιο σύστημα αριθμών είναι γραμμένος ο αριθμός, παρέχεται με μια ένδειξη κάτω δεξιά. Για παράδειγμα, ένας αριθμός στο δεκαδικό σύστημα 5 10 , σε δυαδικό 101 2 . Μερικές φορές ένας δυαδικός αριθμός συμβολίζεται με ένα πρόθεμα ή σύμβολο & (σύμφωνο), Για παράδειγμα 0b101ή αναλόγως &101 .

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

Ακέραιοι

Ένας φυσικός αριθμός γραμμένος σε δυαδικό σύστημα αριθμών ως (a n − 1 a n − 2 … a 1 a 0) 2 (\style display (a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), έχει την έννοια:

(a n − 1 a n − 2 … a 1 a 0) 2 = ∑ k = 0 n − 1 a k 2 k , (\style display (a_(n-1)a_(n-2)\dots a_(1)a_( 0))_(2)=\άθροισμα _(k=0)^(n-1)a_(k)2^(k),)

Αρνητικοί αριθμοί

Οι αρνητικοί δυαδικοί αριθμοί συμβολίζονται με τον ίδιο τρόπο με τους δεκαδικούς αριθμούς: με ένα σύμβολο «−» μπροστά από τον αριθμό. Δηλαδή, ένας αρνητικός ακέραιος γραμμένος σε δυαδικό σύστημα αριθμών (− a n − 1 a n − 2 … a 1 a 0) 2 (\style display (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), έχει την τιμή:

(− a n − 1 a n − 2 … a 1 a 0) 2 = − ∑ k = 0 n − 1 a k 2 k . (\style display (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)=-\sum _(k=0)^(n-1)a_( k)2^(k).)

πρόσθετος κωδικός.

Κλασματικοί αριθμοί

Ένας κλασματικός αριθμός γραμμένος σε δυαδικό σύστημα αριθμών ως (a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 (\style display (a_(n-1)a_(n-2)\dots a_(1)a_(0),a_(-1)a_(-2)\dots a_(-(m-1))a_(-m))_(2)), έχει την τιμή:

(a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 = ∑ k = − m n − 1 a k 2 k , (\style display (a_( n-1)a_(n-2)\dots a_(1)a_(0),a_(-1)a_(-2)\dots a_(-(m-1))a_(-m))_( 2)=\άθροισμα _(k=-m)^(n-1)a_(k)2^(k),)

Πρόσθεση, αφαίρεση και πολλαπλασιασμός δυαδικών αριθμών

Πίνακας προσθήκης

Ένα παράδειγμα προσθήκης στήλης (η δεκαδική παράσταση 14 10 + 5 10 = 19 10 σε δυαδικό σχήμα μοιάζει με 1110 2 + 101 2 = 10011 2):

Παράδειγμα πολλαπλασιασμού στηλών (η δεκαδική παράσταση 14 10 * 5 10 = 70 10 σε δυαδικό σχήμα μοιάζει με 1110 2 * 101 2 = 1000110 2):

Ξεκινώντας από τον αριθμό 1, όλοι οι αριθμοί πολλαπλασιάζονται επί δύο. Η τελεία που έρχεται μετά το 1 ονομάζεται δυαδική κουκκίδα.

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

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

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

Το ίδιο πράγμα λίγο διαφορετικά:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Μπορείτε να το γράψετε σε μορφή πίνακα ως εξής:

512 256 128 64 32 16 8 4 2 1
1 1 0 0 0 1
+32 +16 +0 +0 +0 +1

Μετακινηθείτε από τα δεξιά προς τα αριστερά. Κάτω από κάθε δυαδική μονάδα, γράψτε το ισοδύναμό της στην παρακάτω γραμμή. Προσθέστε τους δεκαδικούς αριθμούς που προκύπτουν. Έτσι, ο δυαδικός αριθμός 110001 2 είναι ισοδύναμος με τον δεκαδικό αριθμό 49 10.

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

Πρέπει να μετατρέψετε τον αριθμό 1011010,101 2 στο δεκαδικό σύστημα. Ας γράψουμε αυτόν τον αριθμό ως εξής:

1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 −1 + 0 * 2 −2 + 1 * 2 −3 = 90,625

Το ίδιο πράγμα λίγο διαφορετικά:

1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625

Ή σύμφωνα με τον πίνακα:

64 32 16 8 4 2 1 0.5 0.25 0.125
1 0 1 1 0 1 0 , 1 0 1
+64 +0 +16 +8 +0 +2 +0 +0.5 +0 +0.125

Μετασχηματισμός με τη μέθοδο του Horner

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

Για παράδειγμα, δυαδικός αριθμός 1011011 2 μετατρέπεται σε δεκαδικό σύστημα ως εξής:

0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91

Δηλαδή, στο δεκαδικό σύστημα αυτός ο αριθμός θα γραφτεί ως 91.

Μετατροπή του κλασματικού μέρους των αριθμών με τη μέθοδο του Horner

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

Για παράδειγμα 0,1101 2

(0 + 1 )/2 = 0,5
(0,5 + 0 )/2 = 0,25
(0,25 + 1 )/2 = 0,625
(0,625 + 1 )/2 = 0,8125

Απάντηση: 0,1101 2 = 0,8125 10

Μετατροπή δεκαδικών αριθμών σε δυαδικούς

Ας υποθέσουμε ότι πρέπει να μετατρέψουμε τον αριθμό 19 σε δυαδικό. Μπορείτε να χρησιμοποιήσετε την ακόλουθη διαδικασία:

19/2 = 9 με το υπόλοιπο 1
9/2 = 4 με το υπόλοιπο 1
4/2 = 2 χωρίς υπόλοιπο 0
2/2 = 1 χωρίς υπόλοιπο 0
1/2 = 0 με το υπόλοιπο 1

Διαιρούμε λοιπόν κάθε πηλίκο με το 2 και γράφουμε το υπόλοιπο στο τέλος του δυαδικού συμβολισμού. Συνεχίζουμε τη διαίρεση μέχρι το πηλίκο να γίνει 0. Γράφουμε το αποτέλεσμα από δεξιά προς τα αριστερά. Δηλαδή, το κάτω ψηφίο (1) θα είναι το πιο αριστερό, κ.λπ. Ως αποτέλεσμα, παίρνουμε τον αριθμό 19 σε δυαδικό συμβολισμό: 10011 .

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

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

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

Παράδειγμα: Πρέπει να μετατρέψετε έναν κλασματικό δεκαδικό αριθμό 206,116 σε κλασματικό δυαδικό αριθμό.

Η μετάφραση ολόκληρου του μέρους δίνει 206 10 =11001110 2 σύμφωνα με τους αλγόριθμους που περιγράφηκαν προηγουμένως. Πολλαπλασιάζουμε το κλασματικό μέρος του 0,116 με τη βάση 2, εισάγοντας τα ακέραια μέρη του προϊόντος στα δεκαδικά ψηφία του επιθυμητού κλασματικού δυαδικού αριθμού:

0,116 2 = 0 ,232
0,232 2 = 0 ,464
0,464 2 = 0 ,928
0,928 2 = 1 ,856
0,856 2 = 1 ,712
0,712 2 = 1 ,424
0,424 2 = 0 ,848
0,848 2 = 1 ,696
0,696 2 = 1 ,392
0,392 2 = 0 ,784
και τα λοιπά.

Έτσι 0,116 10 ≈ 0, 0001110110 2

Παίρνουμε: 206.116 10 ≈ 11001110.0001110110 2

Εφαρμογές

Σε ψηφιακές συσκευές

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

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

Στους υπολογιστές, η εγγραφή αρνητικών δυαδικών αριθμών σε συμπλήρωμα δύο χρησιμοποιείται ευρέως. Για παράδειγμα, ο αριθμός −5 10 θα μπορούσε να γραφτεί ως −101 2 αλλά θα αποθηκευτεί ως 2 σε έναν υπολογιστή 32 bit.

Στο αγγλικό σύστημα μέτρων

Όταν υποδεικνύονται γραμμικές διαστάσεις σε ίντσες, παραδοσιακά χρησιμοποιούνται δυαδικά κλάσματα αντί για δεκαδικά, για παράδειγμα: 5¾″, 7 15/16″, 3 11/32″ κ.λπ.

Γενικεύσεις

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

Ιστορία

  • Ένα πλήρες σύνολο 8 τριγραμμάρια και 64 εξάγραμμα, ανάλογα με τους αριθμούς των 3 και 6 bit, ήταν γνωστό στην αρχαία Κίνα στα κλασικά κείμενα του Βιβλίου των Αλλαγών. Η σειρά των εξαγραμμάτων σε βιβλίο αλλαγών, τακτοποιημένα σύμφωνα με τις τιμές των αντίστοιχων δυαδικών ψηφίων (από 0 έως 63) και η μέθοδος απόκτησής τους αναπτύχθηκε από τον Κινέζο επιστήμονα και φιλόσοφο Shao Yong τον 11ο αιώνα. Ωστόσο, δεν υπάρχουν στοιχεία που να υποδηλώνουν ότι ο Shao Yun κατανοούσε τους κανόνες της δυαδικής αριθμητικής, τακτοποιώντας τις πλειάδες δύο χαρακτήρων σε λεξικογραφική σειρά.
  • Τα σύνολα, τα οποία είναι συνδυασμοί δυαδικών ψηφίων, χρησιμοποιήθηκαν από τους Αφρικανούς στην παραδοσιακή μαντεία (όπως το Ifa) μαζί με τη μεσαιωνική γεωμαντεία.
  • Το 1854, ο Άγγλος μαθηματικός George Boole δημοσίευσε ένα έγγραφο ορόσημο που περιγράφει τα αλγεβρικά συστήματα ως εφαρμόζονται στη λογική, η οποία είναι τώρα γνωστή ως άλγεβρα Boole ή άλγεβρα της λογικής. Ο λογικός λογισμός του έμελλε να παίξει σημαντικό ρόλο στην ανάπτυξη σύγχρονων ψηφιακών ηλεκτρονικών κυκλωμάτων.
  • Το 1937, ο Claude Shannon υπέβαλε τη διδακτορική του διατριβή για υπεράσπιση. Συμβολική ανάλυση κυκλωμάτων ρελέ και μεταγωγήςστην οποία χρησιμοποιήθηκαν άλγεβρα Boole και δυαδική αριθμητική σε σχέση με ηλεκτρονικά ρελέ και διακόπτες. Όλη η σύγχρονη ψηφιακή τεχνολογία βασίζεται ουσιαστικά στη διατριβή του Shannon.
  • Τον Νοέμβριο του 1937, ο George Stibitz, ο οποίος αργότερα εργάστηκε στα Bell Labs, δημιούργησε τον υπολογιστή «Model K» βασισμένος σε ρελέ. κ itchen», η κουζίνα όπου πραγματοποιήθηκε η συναρμολόγηση), η οποία πραγματοποίησε δυαδική προσθήκη. Στα τέλη του 1938, η Bell Labs ξεκίνησε ένα ερευνητικό πρόγραμμα με επικεφαλής τον Stiebitz. Ο υπολογιστής που δημιουργήθηκε υπό την ηγεσία του, που ολοκληρώθηκε στις 8 Ιανουαρίου 1940, ήταν σε θέση να εκτελεί λειτουργίες με μιγαδικούς αριθμούς. Κατά τη διάρκεια μιας επίδειξης στο συνέδριο της Αμερικανικής Μαθηματικής Εταιρείας στο Dartmouth College στις 11 Σεπτεμβρίου 1940, ο Stibitz έδειξε την ικανότητα να στέλνει εντολές σε μια απομακρυσμένη αριθμομηχανή μιγαδικών αριθμών μέσω μιας τηλεφωνικής γραμμής χρησιμοποιώντας μια μηχανή τηλετύπου. Αυτή ήταν η πρώτη προσπάθεια χρήσης απομακρυσμένου υπολογιστή μέσω τηλεφωνικής γραμμής. Οι συμμετέχοντες στο συνέδριο που παρακολούθησαν τη διαδήλωση ήταν οι John von Neumann, John Mauchly και Norbert Wiener, οι οποίοι αργότερα έγραψαν γι' αυτό στα απομνημονεύματά τους.

δείτε επίσης

Σημειώσεις

  1. Πόποβα Όλγα Βλαντιμίροβνα. Εγχειρίδιο Πληροφορικής (απροσδιόριστος) .

Ο δυαδικός κώδικας είναι μια μορφή καταγραφής πληροφοριών με τη μορφή μονάδων και μηδενικών. Αυτό είναι θέσιο με βάση το 2. Σήμερα, ο δυαδικός κώδικας (ο πίνακας που παρουσιάζεται λίγο παρακάτω περιέχει μερικά παραδείγματα γραφής αριθμών) χρησιμοποιείται σε όλες τις ψηφιακές συσκευές χωρίς εξαίρεση. Η δημοτικότητά του εξηγείται από την υψηλή αξιοπιστία και την απλότητα αυτής της μορφής εγγραφής. Η δυαδική αριθμητική είναι πολύ απλή και, κατά συνέπεια, είναι εύκολο να εφαρμοστεί σε επίπεδο υλικού. τα εξαρτήματα (ή, όπως ονομάζονται επίσης, λογικά) είναι πολύ αξιόπιστα, αφού λειτουργούν μόνο σε δύο καταστάσεις: λογική (υπάρχει ρεύμα) και λογικό μηδέν (χωρίς ρεύμα). Έτσι, συγκρίνονται ευνοϊκά με αναλογικά εξαρτήματα, η λειτουργία των οποίων βασίζεται σε παροδικές διαδικασίες.

Πώς συντίθεται ο δυαδικός συμβολισμός;

Ας καταλάβουμε πώς σχηματίζεται ένα τέτοιο κλειδί. Ένα bit δυαδικού κώδικα μπορεί να περιέχει μόνο δύο καταστάσεις: μηδέν και ένα (0 και 1). Όταν χρησιμοποιείτε δύο bit, καθίσταται δυνατή η εγγραφή τεσσάρων τιμών: 00, 01, 10, 11. Μια καταχώρηση τριών bit περιέχει οκτώ καταστάσεις: 000, 001 ... 110, 111. Ως αποτέλεσμα, βρίσκουμε ότι το μήκος του ο δυαδικός κώδικας εξαρτάται από τον αριθμό των bit. Αυτή η έκφραση μπορεί να γραφτεί χρησιμοποιώντας τον ακόλουθο τύπο: N =2m, όπου: m είναι ο αριθμός των ψηφίων και N είναι ο αριθμός των συνδυασμών.

Τύποι δυαδικών κωδικών

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

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

  • ανυπόγραφο?
  • άμεσοι ακέραιοι κωδικοί χαρακτήρων.
  • υπογεγραμμένα αντίστροφα?
  • υπογράψτε επιπλέον?
  • Γκρι κωδικός;
  • Κωδικός Grey Express;
  • κλασματικοί κωδικοί.

Ας ρίξουμε μια πιο προσεκτική ματιά σε καθένα από αυτά.

Ανυπόγραφος δυαδικός κώδικας

Ας καταλάβουμε τι είναι αυτό το είδος ηχογράφησης. Σε ανυπόγραφους ακέραιους κωδικούς, κάθε ψηφίο (δυαδικό) αντιπροσωπεύει δύναμη δύο. Σε αυτήν την περίπτωση, ο μικρότερος αριθμός που μπορεί να γραφτεί σε αυτή τη μορφή είναι μηδέν και ο μέγιστος μπορεί να αναπαρασταθεί από τον ακόλουθο τύπο: M = 2 n -1. Αυτοί οι δύο αριθμοί ορίζουν πλήρως το εύρος του κλειδιού που μπορεί να χρησιμοποιηθεί για να εκφράσει έναν τέτοιο δυαδικό κώδικα. Ας δούμε τις δυνατότητες της αναφερόμενης φόρμας εγγραφής. Όταν χρησιμοποιείτε αυτόν τον τύπο κλειδιού χωρίς υπογραφή, που αποτελείται από οκτώ bit, το εύρος των πιθανών αριθμών θα είναι από 0 έως 255. Ένας κωδικός δεκαέξι bit θα έχει εύρος από 0 έως 65535. Σε επεξεργαστές οκτώ bit, χρησιμοποιούνται δύο τομείς μνήμης για αποθήκευση και εγγραφή τέτοιων αριθμών, οι οποίοι βρίσκονται σε παρακείμενους προορισμούς. Ειδικές εντολές παρέχουν εργασία με τέτοια πλήκτρα.

Άμεσοι ακέραιοι υπογεγραμμένοι κωδικοί

Σε αυτόν τον τύπο δυαδικού κλειδιού, το πιο σημαντικό bit χρησιμοποιείται για την καταγραφή του πρόσημου του αριθμού. Το μηδέν αντιστοιχεί σε ένα συν και το ένα αντιστοιχεί σε ένα μείον. Ως αποτέλεσμα της εισαγωγής αυτού του ψηφίου, το εύρος των κωδικοποιημένων αριθμών μετατοπίζεται στην αρνητική πλευρά. Αποδεικνύεται ότι ένα ακέραιο δυαδικό κλειδί με οκτώ bit μπορεί να γράψει αριθμούς στην περιοχή από -127 έως +127. Δεκαέξι-bit - στην περιοχή από -32767 έως +32767. Οι μικροεπεξεργαστές οκτώ bit χρησιμοποιούν δύο παρακείμενους τομείς για την αποθήκευση τέτοιων κωδικών.

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

Υπογεγραμμένο αντίστροφο κλειδί

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

Υπογεγραμμένος δυαδικός αριθμός συμπληρώματος δύο

Αυτός ο τύπος εγγραφής δεν έχει τα αναφερόμενα μειονεκτήματα των προηγούμενων κλειδιών. Τέτοιοι κωδικοί επιτρέπουν την άμεση άθροιση τόσο των θετικών όσο και των αρνητικών αριθμών. Σε αυτή την περίπτωση, δεν πραγματοποιείται ανάλυση του bit πρόσημου. Όλα αυτά γίνονται δυνατά από το γεγονός ότι οι συμπληρωματικοί αριθμοί είναι ένας φυσικός δακτύλιος συμβόλων και όχι τεχνητοί σχηματισμοί όπως τα πλήκτρα προς τα εμπρός και προς τα πίσω. Επιπλέον, ένας σημαντικός παράγοντας είναι ότι είναι εξαιρετικά εύκολο να πραγματοποιηθούν υπολογισμοί συμπληρωμάτων σε δυαδικούς κώδικες. Για να το κάνετε αυτό, απλώς προσθέστε ένα στο αντίστροφο κλειδί. Όταν χρησιμοποιείτε αυτόν τον τύπο κωδικού πρόσημου, που αποτελείται από οκτώ ψηφία, το εύρος των πιθανών αριθμών θα είναι από -128 έως +127. Ένα κλειδί δεκαέξι bit θα έχει εύρος από -32768 έως +32767. Οι επεξεργαστές οκτώ bit χρησιμοποιούν επίσης δύο παρακείμενους τομείς για την αποθήκευση τέτοιων αριθμών.

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

Γκρι κωδικός

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

Κωδικός Grey Express

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

Αναπαράσταση κλασματικού αριθμού σε δυαδικό κλειδί σταθερού σημείου

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

Δυαδική αναπαράσταση κινητής υποδιαστολής

Αυτή η φόρμα χρησιμοποιείται για τη γραφή ή το αντίστροφο - πολύ μικρό. Παραδείγματα περιλαμβάνουν διαστρικές αποστάσεις ή μεγέθη ατόμων και ηλεκτρονίων. Κατά τον υπολογισμό τέτοιων τιμών, θα έπρεπε κανείς να χρησιμοποιήσει πολύ μεγάλο δυαδικό κώδικα. Ωστόσο, δεν χρειάζεται να λαμβάνουμε υπόψη τις κοσμικές αποστάσεις με ακρίβεια χιλιοστού. Επομένως, η φόρμα σημειογραφίας σταθερού σημείου είναι αναποτελεσματική σε αυτήν την περίπτωση. Μια αλγεβρική μορφή χρησιμοποιείται για την εμφάνιση τέτοιων κωδικών. Δηλαδή, ο αριθμός γράφεται ως μάντισσα πολλαπλασιαζόμενη επί δέκα σε μια δύναμη που αντικατοπτρίζει την επιθυμητή σειρά του αριθμού. Θα πρέπει να ξέρετε ότι η μάντισσα δεν πρέπει να είναι μεγαλύτερη από ένα και το μηδέν δεν πρέπει να γράφεται μετά την υποδιαστολή.

Ο δυαδικός λογισμός πιστεύεται ότι επινοήθηκε στις αρχές του 18ου αιώνα από τον Γερμανό μαθηματικό Gottfried Leibniz. Ωστόσο, όπως ανακάλυψαν πρόσφατα οι επιστήμονες, πολύ πριν από το πολυνησιακό νησί Mangareva, χρησιμοποιήθηκε αυτός ο τύπος αριθμητικής. Παρά το γεγονός ότι ο αποικισμός κατέστρεψε σχεδόν ολοκληρωτικά τα αρχικά συστήματα αριθμών, οι επιστήμονες έχουν αποκαταστήσει πολύπλοκους δυαδικούς και δεκαδικούς τύπους μέτρησης. Επιπλέον, ο γνωστικός επιστήμονας Nunez ισχυρίζεται ότι η δυαδική κωδικοποίηση χρησιμοποιήθηκε στην αρχαία Κίνα ήδη από τον 9ο αιώνα π.Χ. μι. Άλλοι αρχαίοι πολιτισμοί, όπως οι Μάγια, χρησιμοποίησαν επίσης πολύπλοκους συνδυασμούς δεκαδικών και δυαδικών συστημάτων για την παρακολούθηση χρονικών διαστημάτων και αστρονομικών φαινομένων.

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

Σε αντίθεση με τη δεκαδική κωδικοποίηση των αριθμών που είναι οικεία σε εμάς, δηλαδή έναν κωδικό με βάση το δέκα, με δυαδική κωδικοποίηση, η βάση του κωδικού είναι ο αριθμός δύο (Εικ. 2.9). Δηλαδή, κάθε ψηφίο κωδικού (κάθε ψηφίο) ενός δυαδικού κωδικού δεν μπορεί να λάβει δέκα τιμές (όπως στον δεκαδικό κωδικό: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), αλλά μόνο δύο - 0 και 1. Το σύστημα καταγραφής θέσης παραμένει το ίδιο, δηλαδή, το λιγότερο σημαντικό ψηφίο αναγράφεται στα δεξιά και το πιο σημαντικό στα αριστερά. Αλλά αν στο δεκαδικό σύστημα το βάρος κάθε επόμενου ψηφίου είναι δέκα φορές μεγαλύτερο από το βάρος του προηγούμενου, τότε στο δυαδικό σύστημα (με δυαδική κωδικοποίηση) είναι διπλάσιο. Κάθε bit δυαδικού κώδικα ονομάζεται bit (από το αγγλικό "Binary Digit" - "δυαδικός αριθμός").

Ρύζι. 2.9.Δεκαδική και δυαδική κωδικοποίηση

Στον πίνακα Το σχήμα 2.3 δείχνει την αντιστοιχία μεταξύ των πρώτων είκοσι αριθμών στο δεκαδικό και δυαδικό σύστημα.

Ο πίνακας δείχνει ότι ο απαιτούμενος αριθμός bit δυαδικού κώδικα είναι σημαντικά μεγαλύτερος από τον απαιτούμενο αριθμό bits δεκαδικού κώδικα. Ο μέγιστος δυνατός αριθμός με τον αριθμό των ψηφίων ίσο με τρία είναι 999 στο δεκαδικό σύστημα και μόνο 7 στο δυαδικό σύστημα (δηλαδή 111 στον δυαδικό κώδικα). Γενικά, ένας δυαδικός αριθμός n-bit μπορεί να λάβει 2n διαφορετικές τιμές και ένας δεκαδικός αριθμός n-bit μπορεί να λάβει 10n διαφορετικές τιμές. Δηλαδή, η εγγραφή μεγάλων δυαδικών αριθμών (με περισσότερα από δέκα ψηφία) δεν είναι πολύ βολική.

Πίνακας 2.3. Αντιστοιχία αριθμών σε δεκαδικά και δυαδικά συστήματα
Μετρικό σύστημα Δυαδικό σύστημα Μετρικό σύστημα Δυαδικό σύστημα

Προκειμένου να απλοποιηθεί η καταγραφή των δυαδικών αριθμών, προτάθηκε το λεγόμενο δεκαεξαδικό σύστημα (δεκαεξαδική κωδικοποίηση). Σε αυτήν την περίπτωση, όλα τα δυαδικά bit χωρίζονται σε ομάδες των τεσσάρων bit (ξεκινώντας από το λιγότερο σημαντικό) και στη συνέχεια κάθε ομάδα κωδικοποιείται με ένα σύμβολο. Κάθε τέτοια ομάδα ονομάζεται ροκανίζωροκανίζω, σημειωματάριο), και δύο ομάδες (8 bit) - byte. Από το τραπέζι Το 2.3 δείχνει ότι ένας δυαδικός αριθμός 4-bit μπορεί να λάβει 16 διαφορετικές τιμές (από 0 έως 15). Επομένως, ο απαιτούμενος αριθμός χαρακτήρων για έναν δεκαεξαδικό κωδικό είναι επίσης 16, εξ ου και το όνομα του κώδικα. Οι πρώτοι 10 χαρακτήρες είναι οι αριθμοί από το 0 έως το 9 και στη συνέχεια χρησιμοποιούνται τα 6 αρχικά κεφαλαία γράμματα του λατινικού αλφαβήτου: A, B, C, D, E, F.

Ρύζι. 2.10.Δυαδική και δεκαεξαδική σημειογραφία αριθμών

Στον πίνακα Το 2.4 δείχνει παραδείγματα δεκαεξαδικής κωδικοποίησης των πρώτων 20 αριθμών (οι δυαδικοί αριθμοί δίνονται σε αγκύλες) και το Σχ. Το σχήμα 2.10 δείχνει ένα παράδειγμα γραφής ενός δυαδικού αριθμού σε δεκαεξαδική μορφή. Για να δηλώσετε την δεκαεξαδική κωδικοποίηση, το γράμμα "h" ή "H" (από τα αγγλικά Hexadecimal) χρησιμοποιείται μερικές φορές στο τέλος ενός αριθμού, για παράδειγμα, η καταχώρηση A17F h υποδηλώνει τον δεκαεξαδικό αριθμό A17F. Εδώ το A1 αντιπροσωπεύει το υψηλό byte του αριθμού και το 7F είναι το χαμηλό byte του αριθμού. Ολόκληρος ο αριθμός (στην περίπτωσή μας, αριθμός δύο byte) καλείται Σε μία λέξη.

Πίνακας 2.4. Δεκαεξαδικό σύστημα κωδικοποίησης
Μετρικό σύστημα δεκαεξαδικό σύστημα Μετρικό σύστημα δεκαεξαδικό σύστημα
0 (0) A (1010)
1(1) B (1011)
2 (10) C (1100)
3 (11) D (1101)
4 (100) E(1110)
5 (101) F(1111)
6 (110) 10 (10000)
7 (111) 11 (10001)
8 (1000) 12 (10010)
9 (1001) 13 (10011)

Για να μετατρέψετε έναν δεκαεξαδικό αριθμό σε δεκαδικό αριθμό, πρέπει να πολλαπλασιάσετε την τιμή του χαμηλότερου (μηδέν) ψηφίου επί ένα, την τιμή του επόμενου (πρώτου) ψηφίου επί 16, το δεύτερο ψηφίο με το 256 (16 2) κ.λπ. και, στη συνέχεια, προσθέστε όλα τα προϊόντα. Για παράδειγμα, πάρτε τον αριθμό A17F:

A17F=F*16 0 + 7*16 1 + 1*16 2 + A*16 3 = 15*1 + 7*16+1*256+10*4096=41343

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

Εκτός από τους κωδικούς που συζητήθηκαν, υπάρχει επίσης η λεγόμενη δυαδική-δεκαδική αναπαράσταση αριθμών. Όπως στον δεκαεξαδικό κώδικα, στον κώδικα BCD κάθε ψηφίο του κωδικού αντιστοιχεί σε τέσσερα δυαδικά ψηφία, ωστόσο, κάθε ομάδα τεσσάρων δυαδικών ψηφίων μπορεί να λάβει όχι δεκαέξι, αλλά μόνο δέκα τιμές, κωδικοποιημένες από τους χαρακτήρες 0, 1, 2, 3, 4 , 5, 6, 7, 8, 9. Δηλαδή, ένα δεκαδικό ψηφίο αντιστοιχεί σε τέσσερα δυαδικά. Ως αποτέλεσμα, αποδεικνύεται ότι η εγγραφή αριθμών σε δυαδικό δεκαδικό κωδικό δεν διαφέρει από τη γραφή σε συνηθισμένο δεκαδικό κωδικό (Πίνακας 2.6), αλλά στην πραγματικότητα είναι απλώς ένας ειδικός δυαδικός κωδικός, κάθε ψηφίο του οποίου μπορεί να πάρει μόνο δύο τιμές: 0 και 1. Ο κωδικός BCD είναι μερικές φορές πολύ βολικός για την οργάνωση δεκαδικών ψηφιακών δεικτών και πινάκων αποτελεσμάτων.

Πίνακας 2.6. Δυαδικό δεκαδικό σύστημα κωδικοποίησης
Μετρικό σύστημα Δυαδικό δεκαδικό σύστημα Μετρικό σύστημα Δυαδικό δεκαδικό σύστημα
0 (0) 10 (1000)
1(1) 11 (1001)
2 (10) 12 (10010)
3 (11) 13 (10011)
4 (100) 14 (10100)
5 (101) 15 (10101)
6 (110) 16 (10110)
7 (111) 17 (10111)
8 (1000) 18 (11000)
9 (1001) 19 (11001)

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

Σκεφτείτε, για παράδειγμα, να προσθέσετε δύο δυαδικούς αριθμούς 4-bit. Ας προσθέσουμε τον αριθμό 0111 (δεκαδικός 7) και 1011 (δεκαδικός 11). Η προσθήκη αυτών των αριθμών δεν είναι πιο δύσκολη από ό,τι με δεκαδικό συμβολισμό:

Όταν προσθέτουμε 0 και 0 παίρνουμε 0, όταν προσθέτουμε 1 και 0 παίρνουμε 1, όταν προσθέτουμε 1 και 1 παίρνουμε 0 και μεταφέρουμε στο επόμενο ψηφίο 1. Το αποτέλεσμα είναι 10010 (δεκαδικός 18). Η προσθήκη οποιωνδήποτε δύο δυαδικών αριθμών n-bit μπορεί να οδηγήσει σε έναν αριθμό n-bit ή έναν αριθμό (n+1)-bit.

Η αφαίρεση γίνεται με τον ίδιο τρόπο. Αφήστε τον αριθμό 0111 (7) να αφαιρεθεί από τον αριθμό 10010 (18). Γράφουμε τους αριθμούς στοιχισμένους στο λιγότερο σημαντικό ψηφίο και αφαιρούμε με τον ίδιο τρόπο όπως στην περίπτωση του δεκαδικού συστήματος:

Όταν αφαιρούμε το 0 από το 0 παίρνουμε 0, όταν αφαιρούμε 0 από το 1 παίρνουμε 1, όταν αφαιρούμε 1 από το 1 παίρνουμε 0, όταν αφαιρούμε 1 από το 0 παίρνουμε 1 και δανειζόμαστε 1 στο επόμενο ψηφίο. Το αποτέλεσμα είναι 1011 (δεκαδικός 11).

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

Για την ταυτόχρονη αναπαράσταση και των δύο δυαδικών θετικών και δυαδικών αρνητικών αριθμών, χρησιμοποιείται συχνότερα ο αποκαλούμενος κώδικας συμπληρώματος δύο. Οι αρνητικοί αριθμοί σε αυτόν τον κωδικό εκφράζονται με έναν αριθμό που, όταν προστεθεί σε έναν θετικό αριθμό της ίδιας τιμής, θα έχει ως αποτέλεσμα μηδέν. Για να πάρετε έναν αρνητικό αριθμό, πρέπει να αλλάξετε όλα τα bit του ίδιου θετικού αριθμού στα αντίθετα (0 έως 1, 1 έως 0) και να προσθέσετε το 1. Για παράδειγμα, γράψτε τον αριθμό –5. Ο αριθμός 5 στον δυαδικό κώδικα μοιάζει με 0101. Αντικαθιστούμε τα bit με τα αντίθετα: 1010 και προσθέτουμε ένα: 1011. Αθροίζουμε το αποτέλεσμα με τον αρχικό αριθμό: 1011 + 0101 = 0000 (αγνοούμε τη μεταφορά στο πέμπτο ψηφίο) .

Οι αρνητικοί αριθμοί στον κώδικα του συμπληρώματος δύο διακρίνονται από τους θετικούς αριθμούς από την τιμή του πιο σημαντικού ψηφίου: το ένα στο πιο σημαντικό ψηφίο ορίζει έναν αρνητικό αριθμό και το μηδέν ορίζει έναν θετικό αριθμό.

Εκτός από τις τυπικές αριθμητικές πράξεις, το δυαδικό σύστημα αριθμών χρησιμοποιεί επίσης ορισμένες συγκεκριμένες πράξεις, για παράδειγμα, το modulo πρόσθεσης 2. Αυτή η λειτουργία (που συμβολίζεται με A) είναι bitwise, δηλαδή, δεν υπάρχουν μεταφορές από το ένα ψηφίο στο άλλο και δεν υπάρχει δανεισμός σε τα υψηλότερα ψηφία. Οι κανόνες για την προσθήκη modulo 2 είναι οι εξής: , , . Η ίδια λειτουργία ονομάζεται συνάρτηση Αποκλειστικό Ή. Για παράδειγμα, ας αθροίσουμε το modulo 2 δύο δυαδικούς αριθμούς 0111 και 1011:

Άλλες λειτουργίες bitwise σε δυαδικούς αριθμούς περιλαμβάνουν τη συνάρτηση AND και τη συνάρτηση OR. Η συνάρτηση AND καταλήγει σε ένα μόνο εάν τα αντίστοιχα bit των δύο αρχικών αριθμών είναι και τα δύο, διαφορετικά το αποτέλεσμα είναι -0. Η συνάρτηση OR καταλήγει σε ένα όταν τουλάχιστον ένα από τα αντίστοιχα bit των αρχικών αριθμών είναι 1, διαφορετικά το αποτέλεσμα είναι 0.

Το σύνολο των χαρακτήρων με το οποίο γράφεται το κείμενο ονομάζεται αλφάβητο.

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

Τύπος για τον προσδιορισμό του όγκου των πληροφοριών: Ν=2β,

όπου N είναι η δύναμη του αλφαβήτου (αριθμός χαρακτήρων),

b – αριθμός bit (βάρος πληροφοριών του συμβόλου).

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

Επειδή 256 = 2 8, τότε το βάρος 1 χαρακτήρα είναι 8 bit.

Το όνομα δόθηκε στη μονάδα μέτρησης 8 bit 1 byte:

1 byte = 8 bit.

Ο δυαδικός κώδικας κάθε χαρακτήρα σε κείμενο υπολογιστή καταλαμβάνει 1 byte μνήμης.

Πώς αναπαριστώνται οι πληροφορίες κειμένου στη μνήμη του υπολογιστή;

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

Τώρα τίθεται το ερώτημα, ποιον δυαδικό κώδικα οκτώ bit να αντιστοιχίσετε σε κάθε χαρακτήρα.

Είναι σαφές ότι αυτό είναι ένα θέμα υπό όρους· μπορείτε να βρείτε πολλές μεθόδους κωδικοποίησης.

Όλοι οι χαρακτήρες του αλφαβήτου του υπολογιστή αριθμούνται από το 0 έως το 255. Κάθε αριθμός αντιστοιχεί σε έναν δυαδικό κωδικό οκτώ bit από το 00000000 έως το 11111111. Αυτός ο κωδικός είναι απλώς ο σειριακός αριθμός του χαρακτήρα στο δυαδικό σύστημα αριθμών.

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

Διαφορετικοί τύποι υπολογιστών χρησιμοποιούν διαφορετικούς πίνακες κωδικοποίησης.

Ο πίνακας έχει γίνει το διεθνές πρότυπο για υπολογιστές ASCII(διαβάστε aski) (American Standard Code for Information Interchange).

Ο πίνακας κωδικών ASCII χωρίζεται σε δύο μέρη.

Μόνο το πρώτο μισό του πίνακα είναι το διεθνές πρότυπο, δηλ. σύμβολα με αριθμούς από 0 (00000000), έως 127 (01111111).

Δομή πίνακα κωδικοποίησης ASCII

Σειριακός αριθμός

Κώδικας

Σύμβολο

0 - 31

00000000 - 00011111

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

32 - 127

00100000 - 01111111

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

128 - 255

10000000 - 11111111

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

Το πρώτο μισό του πίνακα κωδικών ASCII


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

Για τα γράμματα του ρωσικού αλφαβήτου, τηρείται επίσης η αρχή της διαδοχικής κωδικοποίησης.

Το δεύτερο μισό του πίνακα κωδικών ASCII


Δυστυχώς, αυτή τη στιγμή υπάρχουν πέντε διαφορετικές κυριλλικές κωδικοποιήσεις (KOI8-R, Windows. MS-DOS, Macintosh και ISO). Εξαιτίας αυτού, συχνά προκύπτουν προβλήματα με τη μεταφορά ρωσικού κειμένου από έναν υπολογιστή σε άλλο, από ένα σύστημα λογισμικού σε άλλο.

Χρονολογικά, ένα από τα πρώτα πρότυπα για την κωδικοποίηση ρωσικών γραμμάτων σε υπολογιστές ήταν το KOI8 ("Κωδικός Ανταλλαγής Πληροφοριών, 8-bit"). Αυτή η κωδικοποίηση χρησιμοποιήθηκε στη δεκαετία του '70 σε υπολογιστές της σειράς υπολογιστών ES και από τα μέσα της δεκαετίας του '80 άρχισε να χρησιμοποιείται στις πρώτες ρωσοποιημένες εκδόσεις του λειτουργικού συστήματος UNIX.

Από τις αρχές της δεκαετίας του '90, την εποχή της κυριαρχίας του λειτουργικού συστήματος MS DOS, η κωδικοποίηση CP866 παραμένει ("CP" σημαίνει "Σελίδα Κωδικού", "Σελίδα κώδικα").

Οι υπολογιστές Apple με λειτουργικό σύστημα Mac OS χρησιμοποιούν τη δική τους κωδικοποίηση Mac.

Επιπλέον, ο Διεθνής Οργανισμός Προτύπων (ISO) έχει εγκρίνει μια άλλη κωδικοποίηση που ονομάζεται ISO 8859-5 ως πρότυπο για τη ρωσική γλώσσα.

Η πιο κοινή κωδικοποίηση που χρησιμοποιείται αυτή τη στιγμή είναι τα Microsoft Windows, με συντομογραφία CP1251.

Από τα τέλη της δεκαετίας του '90, το πρόβλημα της τυποποίησης της κωδικοποίησης χαρακτήρων έχει λυθεί με την εισαγωγή ενός νέου διεθνούς προτύπου που ονομάζεται Unicode. Αυτή είναι μια κωδικοποίηση 16-bit, δηλ. εκχωρεί 2 byte μνήμης για κάθε χαρακτήρα. Φυσικά, αυτό αυξάνει την ποσότητα της μνήμης που καταλαμβάνει κατά 2 φορές. Αλλά ένας τέτοιος πίνακας κωδικών επιτρέπει τη συμπερίληψη έως και 65536 χαρακτήρων. Η πλήρης προδιαγραφή του προτύπου Unicode περιλαμβάνει όλα τα υπάρχοντα, εξαφανισμένα και τεχνητά δημιουργημένα αλφάβητα του κόσμου, καθώς και πολλά μαθηματικά, μουσικά, χημικά και άλλα σύμβολα.

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

Εσωτερική αναπαράσταση λέξεων στη μνήμη του υπολογιστή

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

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

Απαντήσεις σε Ερωτήσεις

Μπορείτε να επεξεργαστείτε αυτό το Q&A (να προσθέσετε νέες πληροφορίες, να βελτιώσετε τη μετάφραση κ.λπ.) " itemscope="" itemtype="http://schema.org/Question">

Πώς να μετατρέψετε έναν αριθμό σε δυαδικό;

Η μετατροπή ενός αριθμού σε δυαδικό (με μηδενικά και ένα) συνίσταται σε ένα από τη βάση 10 στη βάση 2 (φυσικό δυάδικος κώδικας)

Παράδειγμα: 5 (βάση 10) = 1*2^2+0*2^1+1*2^0 = 101 (βάση 2)

Η μέθοδος συνίσταται στο να κάνουμε διαδοχικές διαιρέσεις με το 2 και να σημειώνουμε το υπόλοιπο (0 ή 1) με την αντίστροφη σειρά.

Παράδειγμα: 6/2 = 3 παραμένει 0, μετά 3/2 = 1 παραμένει 1, μετά 1/2 = 0 παραμένει 1. Τα διαδοχικά υπόλοιπα είναι 0,1,1 οπότε το 6 γράφεται 110 σε δυαδικό.

Μπορείτε να επεξεργαστείτε αυτό το Q&A (να προσθέσετε νέες πληροφορίες, να βελτιώσετε τη μετάφραση κ.λπ.) " itemscope="" itemtype="http://schema.org/Question">

Πώς να μετατρέψετε ένα κείμενο σε δυαδικό;

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

Παράδειγμα:Το AZ είναι 65,90 () άρα 1000001.1011010 σε δυαδικό

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

Μπορείτε να επεξεργαστείτε αυτό το Q&A (να προσθέσετε νέες πληροφορίες, να βελτιώσετε τη μετάφραση κ.λπ.) " itemscope="" itemtype="http://schema.org/Question">

Πώς να μεταφράσετε το δυαδικό

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

Μπορείτε να επεξεργαστείτε αυτό το Q&A (να προσθέσετε νέες πληροφορίες, να βελτιώσετε τη μετάφραση κ.λπ.) " itemscope="" itemtype="http://schema.org/Question">

Τι είναι λίγο;

Το bit (σύσπαση του δυαδικού ψηφίου) είναι ένα σύμβολο στη δυαδική σημείωση: 0 ή 1.

Μπορείτε να επεξεργαστείτε αυτό το Q&A (να προσθέσετε νέες πληροφορίες, να βελτιώσετε τη μετάφραση κ.λπ.) " itemscope="" itemtype="http://schema.org/Question">

Τι είναι το συμπλήρωμα 1;

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

Παράδειγμα:Το 0111 γίνεται 1000, άρα το 7 γίνεται -7

Μπορείτε να επεξεργαστείτε αυτό το Q&A (να προσθέσετε νέες πληροφορίες, να βελτιώσετε τη μετάφραση κ.λπ.) " itemscope="" itemtype="http://schema.org/Question">

Τι είναι το συμπλήρωμα 2";

Στην πληροφορική, ένα συμπλήρωμα είναι να γράφει έναν αριθμό που αντιστρέφει αρνητικά το 0 και το 1 και προσθέτει 1.

Παράδειγμα:Το 0111 γίνεται 1001

Κάντε μια νέα ερώτηση

Πηγαίος κώδικας

Το dCode διατηρεί την κυριότητα του πηγαίου κώδικα του σεναρίου Binary Code online. Εκτός από ρητή άδεια ανοιχτού κώδικα (υποδεικνύεται Creative Commons / δωρεάν), οποιονδήποτε αλγόριθμο, μικροεφαρμογή, απόσπασμα, λογισμικό (μετατροπέας, επιλύτης, κρυπτογράφηση / αποκρυπτογράφηση, κωδικοποίηση / αποκωδικοποίηση, κρυπτογράφηση / αποκρυπτογράφηση, μεταφραστής) ή οποιαδήποτε συνάρτηση (μετατροπή, επίλυση, αποκρυπτογράφηση , κρυπτογράφηση, αποκρυπτογράφηση, κρυπτογράφηση, αποκωδικοποίηση, κωδικοποίηση, μετάφραση) γραμμένη σε οποιαδήποτε πληροφορική γλώσσα (PHP, Java, C#, Python, Javascript, Matlab κ.λπ.) της οποίας τα δικαιώματα κατέχει η dCode δεν θα κυκλοφορήσει δωρεάν. Για λήψη του διαδικτυακού σεναρίου Binary Code για χρήση εκτός σύνδεσης σε υπολογιστή, iPhone ή Android, ζητήστε προσφορά τιμής στο