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

Δυαδικό σύστημα δεκαδικών αριθμών. Τα δεκαδικά ψηφία 0 έως 9 αντικαθίστανται από τα δυαδικά τετράδια που τα αντιπροσωπεύουν: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 και 9= 1001. Αυτή η σημείωση χρησιμοποιείται πολύ συχνά ως ενδιάμεσο βήμα για τη μετατροπή ενός αριθμού από το δεκαδικό σύστημα σε δυαδικό ή το αντίστροφο. Δεδομένου ότι το 10 δεν είναι ακριβής δύναμη του 2, δεν χρησιμοποιούνται και τα 16 τετράδια και οι αλγόριθμοι για αριθμητικές πράξεις σε πολυψήφιους αριθμούς είναι πιο περίπλοκοι από ό,τι στα βασικά συστήματα αριθμών. Και όμως, το δυαδικό σύστημα δεκαδικών αριθμών χρησιμοποιείται ακόμη και σε αυτό το επίπεδο σε πολλούς μικροϋπολογιστές και ορισμένους υπολογιστές (ιδίως το Yamaha MSX).

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

Η αρχή αυτού του συστήματος είναι αρκετά απλή: κάθε δεκαδικό ψηφίο μετατρέπεται απευθείας στο δεκαδικό ισοδύναμο 4-bit, για παράδειγμα: 369110=0011 0110 1001 0001ΔΕΚ:

Δεκαδικό 3 6 9 1 BCD 0011 0110 1001 0001

Ας μετατρέψουμε τον δυαδικό δεκαδικό αριθμό 1000 0000 0111 0010 στο δεκαδικό του ισοδύναμο. Κάθε ομάδα 4 bit μετατρέπεται στο δεκαδικό της ισοδύναμο. Παίρνουμε 1000 0000 0111 0010DEC = 807210:

BCD 1000 0000 0111 0010 Δεκαδικό 8 0 7 2

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

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

Η αριθμητική-λογική μονάδα των μικροελεγκτών AVR (καθώς και άλλων μικροεπεξεργαστών) εκτελεί στοιχειώδεις αριθμητικές και λογικές πράξεις σε αριθμούς που αντιπροσωπεύονται σε δυαδικό κώδικα. Τα αποτελέσματα μετατροπής ADC διαβάζονται σε δυαδικό κώδικα· είναι βολικό να επεξεργάζονται τα αποτελέσματα των μετρήσεων σε δυαδικό κώδικα (με τη μορφή ακεραίων ή αριθμών κινητής υποδιαστολής). Ωστόσο, όταν το τελικό αποτέλεσμα εμφανίζεται στην ένδειξη, πρέπει να μετατραπεί σε δεκαδική μορφή που να είναι αναγνώσιμη από τον άνθρωπο.

Αυτή η ενότητα εξετάζει προγράμματα για τη μετατροπή δυαδικών αριθμών σε BCD.

1. Μορφές για την αναπαράσταση δεκαδικών αριθμών

Υπάρχουν επί του παρόντος δύο κοινές μορφές για την αναπαράσταση δεκαδικών αριθμών σε μικροεπεξεργαστές - συσκευασμένο δεκαδικό δυαδικό κώδικα (BCD-Binary-Coded Decimal) και μη συσκευασμένο δεκαδικό κωδικό.

Ένας συσκευασμένος κωδικός BCD είναι μια αναπαράσταση ενός δεκαδικού αριθμού όπου κάθε δεκαδικό ψηφίο αντιπροσωπεύεται από έναν δυαδικό κωδικό θέσης 4-bit 8-4-2-1. Σε αυτήν την περίπτωση, το byte περιέχει δύο δεκαδικά ψηφία. Το λιγότερο σημαντικό δεκαδικό ψηφίο καταλαμβάνει το δεξί τετράδιο (bits 3: 0), το πιο σημαντικό δεκαδικό ψηφίο καταλαμβάνει το αριστερό τετράδιο (bits 7: 4). Οι αριθμοί BCD πολλαπλών bit καταλαμβάνουν πολλά συνεχόμενα byte. Εάν ο αριθμός είναι υπογεγραμμένος, τότε το πιο σημαντικό τετράδιο του πιο σημαντικού byte εκχωρείται για να αναπαραστήσει το πρόσημο σε μορφή BCD. Έξι μοτίβα δυαδικού κώδικα μπορούν να χρησιμοποιηθούν για την κωδικοποίηση ενός χαρακτήρα, τα οποία δεν χρησιμοποιούνται για την αναπαράσταση δεκαδικών ψηφίων. Αυτοί είναι οι κωδικοί 1010-1111 (Α-Φ σε δεκαεξαδικό). Συνήθως, ο κωδικός 1100 (C) χρησιμοποιείται για να κωδικοποιήσει το σύμβολο συν και ο κωδικός 1101 (D) για το σύμβολο μείον.

Ο μη συσκευασμένος δεκαδικός κωδικός είναι ένα υποσύνολο του διεθνούς πίνακα κωδικοποίησης χαρακτήρων ASCII (Πίνακας 1). Μπορεί να φανεί ότι η αποθήκευση μη συσκευασμένων δεκαδικών αριθμών απαιτεί διπλάσια μνήμη, καθώς κάθε ψηφίο αντιπροσωπεύεται από έναν κωδικό 8-bit. Πίνακας 1: Κωδικοί ASCII για δεκαδικά ψηφία

2. Μετατρέψτε ακέραιους αριθμούς 16-bit σε αριθμούς BCD

Το www.atmel.com προσφέρει ένα πρόγραμμα "bin2bcd16" για τη μετατροπή δυαδικών ακέραιων αριθμών 16-bit σε συσκευασμένους αριθμούς BCD. Αυτό το άρθρο περιγράφει το πρόγραμμα "bin16bcd5" (δείτε Παράρτημα, Πρόγραμμα 1), γραμμένο από τον A.V. Tereshkin σύμφωνα με τον αλγόριθμο που περιγράφεται και εκτελεί την ίδια εργασία. Το τελευταίο πρόγραμμα αποδείχθηκε πιο αποτελεσματικό από το πρώτο όσον αφορά την ταχύτητα, το μήκος του κωδικού και τον αριθμό των καταχωρητών που χρησιμοποιήθηκαν.

Ο αλγόριθμος του προγράμματος "bin16bcd5" είναι ο εξής. Ας υποθέσουμε ότι έχουμε έναν ανυπόγραφο ακέραιο αριθμό 16 bit (εύρος 0 έως 65535). Προφανώς, πρέπει να βρείτε 5 δεκαδικά ψηφία. Η μέθοδος μετατροπής είναι να αφαιρέσετε 10.000 από τον αρχικό αριθμό και να καθορίσετε πρώτα το δεκαδικό ψηφίο των δεκάδων χιλιάδων. Στη συνέχεια, ο αριθμός των χιλιάδων βρίσκεται αφαιρώντας διαδοχικά τον αριθμό 1000 κλπ. Η αφαίρεση πραγματοποιείται κάθε φορά μέχρι να προκύψει αρνητική διαφορά μετρώντας τον αριθμό των αφαιρέσεων. Κατά τη μετάβαση στον προσδιορισμό κάθε επόμενου δεκαδικού ψηφίου στους καταχωρητές του αρχικού αριθμού, αποκαθίσταται η τελευταία θετική διαφορά. Αφού βρεθεί το δεκαδικό ψηφίο, το δεκαδικό ψηφίο των μονάδων θα παραμείνει στους αρχικούς αριθμούς.

Το πρόγραμμα "bin16ASCII5" (βλ. Παράρτημα, Πρόγραμμα 2) μετατρέπει έναν δυαδικό ακέραιο αριθμό 16 bit σε έναν μη συσκευασμένο δεκαδικό αριθμό. Χρησιμοποιείται ο ίδιος αλγόριθμος.

3. Μετατρέψτε το δυαδικό κλάσμα σε BCD

Ένα δυαδικό κλάσμα, εξ ορισμού, αντιπροσωπεύεται από την ακόλουθη έκφραση:

0.A-1A-2 ... A-m = A-1*2-1 + A-2*2-2 + ... A-m*2-m

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

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

Η προσθήκη αυτού του ψηφίου σε έναν αριθμό BCD σημαίνει ότι πρέπει να τοποθετηθεί στο ψηφίο μονάδων του αριθμού BCD, από όπου, μετά τη διαίρεση με δύο, το ψηφίο A-i θα μετακινηθεί στο πιο σημαντικό ψηφίο του πιο σημαντικού τετράδικου του δεκαδικού κλάσματος . Κατά τον προγραμματισμό, μπορούμε να σκεφτούμε το μέρος των δεκαδικών μονάδων ως το bit μεταφοράς C.

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

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

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

όπου M είναι η δυαδική μάντισσα του αριθμού, P είναι η δυαδική σειρά του αριθμού.

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

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

Η έννοια ενός μικτού συστήματος αριθμών

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

Ορισμός 1

Μικτόςλέγεται αυτό σημειογραφία, στο οποίο οι αριθμοί που καθορίζονται σε ένα συγκεκριμένο σύστημα αριθμών με βάση $P$ αντιπροσωπεύονται χρησιμοποιώντας ψηφία άλλου συστήματος αριθμών με βάση $Q$, όπου $Q

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

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

Πρακτική λογική για τη χρήση του δυαδικού δεκαδικού συστήματος αριθμών

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

Σημείωση 1

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

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

    διαβάζει τα αποτελέσματα της μετατροπής ADC.

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

Ωστόσο, το τελικό αποτέλεσμα εμφανίζεται στην ένδειξη σε δεκαδική μορφή που είναι βολική για την ανθρώπινη αντίληψη.

Αρχές κατασκευής δυαδικού-δεκαδικού συστήματος αριθμών

Κατά την κατασκευή ενός δυαδικού-δεκαδικού συστήματος αριθμών, εκχωρούνται δυαδικά ψηφία $4$ για να αντιπροσωπεύουν κάθε δεκαδικό ψηφίο, αφού το μέγιστο δεκαδικό ψηφίο $9$ κωδικοποιείται ως $10012$.

Για παράδειγμα: $925_(10) = 1001 0010 0101_(2-10)$.

Εικόνα 1.

Σε αυτήν τη σημείωση, διαδοχικά τετραπλά δυαδικά ψηφία αντιπροσωπεύουν τα ψηφία $9$, $2$ και $5$ του δεκαδικού συμβολισμού, αντίστοιχα.

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

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

Για παράδειγμα:

$1001 0010 0101_{(2)} = 2341_{(10)}$,

$1001 0010 0101_{(2)} = 925_{(2-10)}$.

Αυτή η σημείωση χρησιμοποιείται αρκετά συχνά ως ενδιάμεσο βήμα κατά τη μετατροπή ενός αριθμού από το δεκαδικό σύστημα σε δυαδικό και αντίστροφα. Δεδομένου ότι ο αριθμός $10$ δεν είναι η ακριβής ισχύς του αριθμού $2$, δεν χρησιμοποιούνται όλα τα τετράδια των $16$ (οι τετράδες που αντιπροσωπεύουν αριθμούς από $A$ έως $F$ απορρίπτονται, καθώς αυτοί οι αριθμοί θεωρούνται απαγορευμένοι), αλλά αλγόριθμοι για την αριθμητική πράξεις σε πολυψήφιους αριθμούς σε αυτή την περίπτωση, πιο περίπλοκες από ό,τι σε βασικά συστήματα αριθμών. Και όμως, το δυαδικό σύστημα δεκαδικών αριθμών χρησιμοποιείται ακόμη και σε αυτό το επίπεδο σε πολλούς μικροϋπολογιστές και ορισμένους υπολογιστές.

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

Για παράδειγμα: $75+18=$93.

$10001101\(8D)$

Το απαγορευμένο ψηφίο $D$ εμφανίστηκε στο χαμηλό σημειωματάριο. Προσθέστε $6$ στο χαμηλό τετραγωνικό και λάβετε:

$10010011 \ (93)$

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

Σημείωση 2

Η εξισορρόπηση bitwise πραγματοποιείται συχνά με βάση δυαδικό σύστημα δεκαδικών αριθμών. Η χρήση δυαδικών και δυαδικών-δεκαδικών συστημάτων αριθμών είναι η πλέον κατάλληλη, καθώς σε αυτή την περίπτωση ο αριθμός των κύκλων εξισορρόπησης είναι ο μικρότερος μεταξύ άλλων συστημάτων αριθμών. Σημειώστε ότι η χρήση δυαδικού κώδικα μας επιτρέπει να μειώσουμε τον χρόνο επεξεργασίας της τάσης αντιστάθμισης κατά περίπου $20\%$ σε σύγκριση με τον δυαδικό-δεκαδικό κώδικα.

Πλεονεκτήματα της χρήσης του δυαδικού δεκαδικού συστήματος αριθμών

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

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

Δεδομένου ότι δύο δυαδικά δεκαδικά ψηφία αποτελούν byte $1$, το οποίο μπορεί να χρησιμοποιηθεί για να αναπαραστήσει τις τιμές των αριθμών από $0$ έως $99$, και όχι από $0$ έως $255$, όπως με έναν δυαδικό αριθμό $8$-bit, τότε χρησιμοποιώντας $1$ byte για Μετατρέποντας κάθε δύο δεκαδικά ψηφία, μπορείτε να σχηματίσετε αριθμούς BCD με οποιονδήποτε επιθυμητό αριθμό δεκαδικών ψηφίων.

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

925 10 = 1001 0010 0101 2-10 .

Εδώ, διαδοχικά τετραπλά (τετράδια) δυαδικών ψηφίων αντιπροσωπεύουν τα ψηφία 9, 2 και 5 του δεκαδικού συμβολισμού, αντίστοιχα.

Αν και ο συμβολισμός BCD χρησιμοποιεί μόνο τα ψηφία 0 και 1, ο συμβολισμός BCD είναι διαφορετικός από τη δυαδική αναπαράσταση ενός δεδομένου αριθμού. Για παράδειγμα, ο δυαδικός κωδικός 1001 0010 0101 αντιστοιχεί στον δεκαδικό αριθμό 2341 και όχι στον 925.

Εάν P=Q l (το l είναι θετικός ακέραιος), η αναπαράσταση οποιουδήποτε αριθμού σε ένα μικτό σύστημα αριθμών συμπίπτει πανομοιότυπα με την εικόνα αυτού του αριθμού σε ένα σύστημα αριθμών με βάση το Q. Παραδείγματα τέτοιου μικτού συστήματος αριθμών είναι δυαδικά- οκταδική και δυαδική-δεκαεξαδική.

Για παράδειγμα,

A2 16 = 1010 0010 2 = 1010 0010 2-16

ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΡΝΗΤΙΚΩΝ ΑΡΙΘΜΩΝ ΣΕ ΜΟΡΦΗ ΣΤΑΘΕΡΟΥ ΣΗΜΕΙΟΥ (DOTS)

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

Είναι γνωστό ότι ένας από τους τρόπους για να εκτελέσετε μια λειτουργία αφαίρεσης είναι να αντικαταστήσετε το πρόσημο του subtrahend με το αντίθετό του και να το προσθέσετε στο minuend:

A - B = A + (- B)

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

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

[A] pr = 0.an an-1 an-2.....a1 a0,

τότε ο αριθμός -Α στον ίδιο κωδικό αντιπροσωπεύεται ως

[-A]pr = 1.an an-1 an-2.....a1 a0,

και στο ΑΝΤΙΣΤΡΟΦΗ(αντίστροφος) κωδικός αυτός ο αριθμός θα μοιάζει με:

[-A]rev = 1.an an-1 an-2.....a1 a0,

ai = 1 εάν ai = 0,

ai = 0, αν ai = 1,

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

Τότε ο αριθμός -Α σε πρόσθετοςο κωδικός αναπαρίσταται ως

[-A]add = [-A]rev + 1

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

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

Ας φανταστούμε ότι έχουμε μόνο δύο ψηφία για να αναπαραστήσουμε αριθμούς στο δεκαδικό σύστημα αριθμών. Τότε ο μέγιστος αριθμός που μπορεί να απεικονιστεί θα είναι 99 και το βάρος του τρίτου ανύπαρκτου υψηλότερου ψηφίου θα είναι 10 2, δηλ. 100. Σε αυτήν την περίπτωση, για τον αριθμό 20, ο συμπληρωματικός αριθμός θα είναι 80, ο οποίος συμπληρώνει το 20 έως το 100 (100 - 20 = 80). Επομένως, εξ ορισμού, αφαίρεση

μπορεί να αντικατασταθεί με προσθήκη:

Εδώ η υψηλότερη μονάδα υπερβαίνει το εκχωρημένο πλέγμα bit, στο οποίο παραμένει μόνο ο αριθμός 30, δηλ. Το αποτέλεσμα της αφαίρεσης του αριθμού 20 από το 50.

Τώρα ας δούμε ένα παρόμοιο παράδειγμα για αριθμούς που αντιπροσωπεύονται σε δυαδικό κώδικα 4 bit. Ας βρούμε τον πρόσθετο αριθμό για το 0010 2 = 210. Πρέπει να αφαιρέσουμε το 0010 από το 0000, παίρνουμε 1110, που είναι ο πρόσθετος κωδικός 2. Το ψηφίο που εμφανίζεται σε αγκύλες δεν υπάρχει στην πραγματικότητα. Αλλά επειδή έχουμε ένα πλέγμα 4-bit, είναι βασικά αδύνατο να πραγματοποιήσουμε μια τέτοια αφαίρεση, και ακόμη περισσότερο προσπαθούμε να απαλλαγούμε από την αφαίρεση. Επομένως, ο κωδικός πρόσθετου αριθμού λαμβάνεται με τον τρόπο που περιγράφηκε προηγουμένως, δηλ. πρώτα παίρνουν τον αντίστροφο κωδικό του αριθμού και μετά προσθέτουν σε αυτόν το 1. Έχοντας κάνει όλα αυτά με τον αριθμό μας (2), δεν είναι δύσκολο να δούμε ότι θα ληφθεί παρόμοια απάντηση.

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

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

Ας δούμε απλά παραδείγματα.

Το επτά στον άμεσο κώδικα αντιπροσωπεύεται ως εξής:

pr = 0,0001112

Αριθμός -7 σε άμεσο κωδικό:

[-7]pr = 1.0001112,

και στον αντίστροφο κώδικα θα μοιάζει

[-7]στροφές = 1,1110002,

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

[-7]προσθήκη = 1,1110012.

Ας εξετάσουμε για άλλη μια φορά πώς η διαδικασία αφαίρεσης, χρησιμοποιώντας την αναπαράσταση του subtrahend στον κώδικα του συμπληρώματος δύο, ανάγεται στη διαδικασία πρόσθεσης. Αφαιρέστε τον αριθμό 7 από το 10: 10 - 7 = 3. Εάν και οι δύο τελεστές παρουσιάζονται σε άμεσο κώδικα, τότε η διαδικασία αφαίρεσης εκτελείται ως εξής:

-1.000111

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

+ 1.111001

1 0.000011 = 310.

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

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

Μηχανή (αυτόματη) εικόνα αριθμούείναι αναπαράσταση ενός αριθμού στο πλέγμα bit μιας ψηφιακής μηχανής. Το σύμβολο για μια εικόνα μηχανής ενός αριθμού, για παράδειγμα, A, θα αναπαρασταθεί ως [ΕΝΑ].

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

Στην καθημερινή πρακτική, η πιο κοινή μορφή αναπαράστασης αριθμών είναι μια ακολουθία ψηφίων που χωρίζονται με κόμμα σε ακέραια και κλασματικά μέρη. Οι αριθμοί που αντιπροσωπεύονται σε αυτή τη μορφή ονομάζονται αριθμοί με φυσικό κόμμα ή αριθμούς σε φυσική μορφή. Στη φυσική μορφή, ένας αριθμός γράφεται στη φυσική του μορφή, για παράδειγμα το 12560 είναι ακέραιος, το 0,003572 είναι ένα σωστό κλάσμα, το 4,89760 είναι ένα ακατάλληλο κλάσμα.

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

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

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

Το τμήμα πρόσημο περιέχει πληροφορίες σχετικά με το πρόσημο του αριθμού. Είναι αποδεκτό ότι το σημάδι θετικός αριθμός "+" αντιπροσωπεύεται από το σύμβολο 0, και το πρόσημο είναι αρνητικός αριθμός "-" αντιπροσωπεύεται από το σύμβολο 1.

Για παράδειγμα, σε δυαδικό κώδικα, χρησιμοποιώντας ένα πλέγμα 6-bit, ο αριθμός 7 σε μορφή σταθερού σημείου μπορεί να αναπαρασταθεί ως:

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

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

όπου το bit πρόσημου χωρίζεται με αγκύλες.

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

|A|max = (2 (n -1) - 1),

Οπου n- συνολικό μήκος του πλέγματος bit. Σε περίπτωση δικτύου 16-bit

|Α| μέγ. = (2 (16-1) - 1) = 32767 10,

εκείνοι. Το εύρος αναπαράστασης ακεραίων σε αυτήν την περίπτωση θα είναι από +3276710 έως -3276710.

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

(2(n-1) - 1) και λιγότερα από ένα δεν αντιπροσωπεύονται σε μορφή σταθερού σημείου. Οι αριθμοί των οποίων η απόλυτη τιμή είναι μικρότερη από ένα από τα λιγότερο σημαντικά ψηφία του πλέγματος bit ονομάζονται σε αυτήν την περίπτωση μηχανή μηδέν. Το αρνητικό μηδέν απαγορεύεται.

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

Δυαδικό σύστημα δεκαδικών αριθμών

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

Το δυαδικό δεκαδικό σύστημα δεν είναι οικονομικό από την άποψη της υλοποίησης της τεχνικής κατασκευής του μηχανήματος (ο απαιτούμενος εξοπλισμός αυξάνεται κατά περίπου 20%), αλλά είναι πολύ βολικό κατά την προετοιμασία εργασιών και προγραμματισμού. Στο δυαδικό δεκαδικό σύστημα αριθμών, η βάση του συστήματος αριθμών είναι ο αριθμός 10, αλλά κάθε δεκαδικό ψηφίο (0, 1, ..., 9) αντιπροσωπεύεται, δηλαδή κωδικοποιείται, με δυαδικά ψηφία. Τέσσερα δυαδικά ψηφία χρησιμοποιούνται για την αναπαράσταση ενός δεκαδικού ψηφίου. Εδώ, φυσικά, υπάρχει πλεονασμός, αφού 4 δυαδικά ψηφία (ή ένα δυαδικό τετράδιο) μπορούν να αντιπροσωπεύουν όχι 10, αλλά 16 αριθμούς, αλλά αυτό είναι ήδη ένα κόστος παραγωγής για λόγους ευκολίας προγραμματισμού. Υπάρχει ένας αριθμός δεκαδικών συστημάτων με δυαδικό κώδικα για την αναπαράσταση αριθμών, που χαρακτηρίζονται από το ότι σε ορισμένους συνδυασμούς μηδενικών και μονάδων εντός ενός τετραδίου εκχωρούνται ορισμένες τιμές δεκαδικών ψηφίων.
Δημοσιεύτηκε στο ref.rf
Στο πιο συχνά χρησιμοποιούμενο φυσικό σύστημα δεκαδικών αριθμών με δυαδικό κωδικό, τα βάρη των δυαδικών ψηφίων μέσα σε ένα τετράδα είναι φυσικά, δηλαδή 8, 4, 2, 1 (Πίνακας 6).

Πίνακας 6

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

Για παράδειγμα, ο δεκαδικός αριθμός 5673 στη σημείωση BCD είναι 01010110011100011.

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

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

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

Πίνακας 7.

Δυνάμεις του αριθμού 2

n (πτυχίο)

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

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

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

Πίνακας 8.

Δυνάμεις του αριθμού 8

n (πτυχίο)
8n

Δυαδικό σύστημα δεκαδικών αριθμών - έννοια και τύποι. Ταξινόμηση και χαρακτηριστικά της κατηγορίας «Δυαδικό-δεκαδικό σύστημα αριθμών» 2015, 2017-2018.

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

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

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

Παράδειγμα.

Γράψτε τον δεκαδικό αριθμό 572,38 (10) στο δυαδικό δεκαδικό σύστημα αριθμών.

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

Παράδειγμα.

Γράψτε τον δυαδικό δεκαδικό αριθμό 10010.010101 (2-10) στο δεκαδικό σύστημα αριθμών.

Η μετατροπή αριθμών από BCD σε δυαδικό σύστημα πραγματοποιείται σύμφωνα με τους γενικούς κανόνες που περιγράφονται παραπάνω.

2.3. Οκταδικό σύστημα αριθμών

Στο οκταδικό σύστημα αριθμών χρησιμοποιούνται μόνο οκτώ ψηφία, δηλ. Αυτό το σύστημα αριθμών έχει βάση S = 8. Γενικά, ένας οκταδικός αριθμός μοιάζει με αυτό:

Οπου
.

Το οκταδικό σύστημα αριθμών δεν χρειάζεται από έναν υπολογιστή, σε αντίθεση με το δυαδικό σύστημα. Είναι βολικό ως μια συμπαγής μορφή γραφής αριθμών και χρησιμοποιείται από προγραμματιστές (για παράδειγμα, σε κείμενα προγραμμάτων για έναν πιο συνοπτικό και βολικό τρόπο γραφής δυαδικών κωδίκων εντολών, διευθύνσεων και τελεστών). Στο σύστημα οκταδικών αριθμών, το βάρος κάθε ψηφίου είναι πολλαπλάσιο του οκτώ ή του ενός όγδοου, επομένως ένας δυαδικός αριθμός οκτώ bit σας επιτρέπει να εκφράσετε δεκαδικές τιμές στην περιοχή 0-255 και ένας οκταδικός αριθμός καλύπτει το εύρος 0 -99999999 (για δυαδικό αυτό είναι 27 ψηφία).

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

Παράδειγμα.

Γράψτε τον δυαδικό αριθμό 10101011111101 (2) στο οκταδικό σύστημα αριθμών.

Παράδειγμα.

Γράψτε τον δυαδικό αριθμό 1011.0101 (2) στο οκταδικό σύστημα αριθμών.

Η μετατροπή από οκταδικό σε δυαδικό πραγματοποιείται αντιπροσωπεύοντας κάθε ψηφίο ενός οκταδικού αριθμού ως τριψήφιο δυαδικό αριθμό (τριάδα).

2.4. Δεκαεξαδικό σύστημα αριθμών

Αυτό το σύστημα αριθμών έχει βάση S = 16. Γενικά, ένας δεκαεξαδικός αριθμός μοιάζει με αυτό:

Οπου
.

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

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

Παράδειγμα.

Γράψτε τον δυαδικό αριθμό 10101011111101 (2) σε δεκαεξαδικό.

Παράδειγμα.

Γράψτε τον δυαδικό αριθμό 11101.01111 (2) σε δεκαεξαδικό.

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

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

Επίσης, να θυμάστε ότι οι δεκαεξαδικοί και οι οκταδικοί αριθμοί είναι μόνο ένας τρόπος αναπαράστασης των μεγάλων δυαδικών αριθμών στους οποίους πραγματικά λειτουργεί ο επεξεργαστής. Σε αυτή την περίπτωση, το δεκαεξαδικό σύστημα είναι προτιμότερο, αφού στους σύγχρονους υπολογιστές οι επεξεργαστές χειρίζονται λέξεις μήκους 4, 8, 16, 32 ή 64 bit, δηλ. το μήκος των λέξεων είναι πολλαπλάσιο του 4. Στο σύστημα οκταδικών αριθμών, προτιμώνται λέξεις που είναι πολλαπλάσια των 3 bit, για παράδειγμα, λέξεις με μήκος 12 bit (όπως στο PDP-8 από το DEC).