Κεφάλαιο – 4
Συστήματα Αριθμών
Εισαγωγή
Είναι πολύ σύνηθες στον προγραμματισμό ανάκτησης δεδομένων ή σε οποιονδήποτε άλλο προγραμματισμό αντιμετώπισης προβλημάτων δίσκου να χειρίζονται διαφορετικούς τύπους αριθμητικών συστημάτων ταυτόχρονα για την εκτέλεση μιας μεμονωμένης εργασίας ή ακόμη και μιας πολύ μικρής εργασίας, όπως ο υπολογισμός των συγκεκριμένων θέσεων των εκτεταμένων MBR ) όσον αφορά το CHS (Κύλινδροι, Κεφαλές και Τομείς) και αυτές οι τοποθεσίες καθοδηγούν τον προγραμματιστή σε όλη τη(τις) λειτουργία(εις).
Πιθανώς οι περισσότεροι από τους αρχάριους προγραμματιστές αντιμετωπίζουν το πρόβλημα ή τη σύγχυση κατά τη μετατροπή διαφορετικών τύπων συστημάτων αριθμών μεταξύ τους όταν προσπαθούν να μάθουν προγραμματισμό σε επίπεδο συστήματος βάσει γλώσσας συναρμολόγησης και όταν είναι απαραίτητη η χρήση των δυαδικών και δεκαεξαδικών συστημάτων αριθμών.
Σε αυτό το κεφάλαιο θα συζητήσουμε πολλές σημαντικές έννοιες, συμπεριλαμβανομένων των δυαδικών, δεκαδικών, δεκαεξαδικών συστημάτων αρίθμησης και καθώς και δυαδικής οργάνωσης δεδομένων όπως μετατροπή bits, nibbles, bytes, λέξεις και διπλές λέξεις κ.λπ. και πολλά άλλα σχετικά θέματα αριθμητικών συστημάτων.
Τα περισσότερα από τα σύγχρονα συστήματα υπολογιστών δεν αντιπροσωπεύουν αριθμητικές τιμές χρησιμοποιώντας το δεκαδικό σύστημα, αλλά γενικά χρησιμοποιούν ένα δυαδικό σύστημα ή ένα σύστημα αρίθμησης συμπληρωμάτων 2.
Υπάρχουν τέσσερις βάσεις αριθμών που χρησιμοποιούνται συνήθως στον προγραμματισμό, Δυαδική, Οκταδική, Δεκαδική και Δεκαεξαδική. Ωστόσο, τις περισσότερες φορές θα συναντηθούμε με δυαδικά, δεκαδικά και δεκαεξαδικά συστήματα αριθμών. Αυτά τα συστήματα αριθμών έχουν διαφοροποιηθεί ανάλογα με τον αριθμό βάσης τους.
Κάθε σύστημα αρίθμησης έχει τον δικό του αριθμό βάσης και το δικό του σύμβολο αναπαράστασης. Έχω παρουσιάσει αυτούς τους τέσσερις αριθμούς στον παρακάτω πίνακα:
Name of Number System |
Base Number |
Symbol Used for Representation |
Binary |
2 |
B |
Octal |
8 |
Q or O |
Decimal |
10 |
D or None |
Hexadecimal |
16 |
H |
Σύστημα δεκαδικού αριθμού
Το σύστημα δεκαδικών αριθμών χρησιμοποιεί τη βάση 10 και περιλαμβάνει τα ψηφία από το 0 έως το 9. Μην μπερδεύεστε, είναι το κοινό σύστημα αριθμών που χρησιμοποιούμε στην καθημερινή μας ζωή για να υπολογίσουμε τα πράγματα. Οι σταθμισμένες τιμές ισχύος για κάθε θέση θα είναι οι εξής:
Με αυτόν τον τρόπο, αν έχω δεκαδικό αριθμό 218 και θέλω να τον αναπαραστήσω με τον παραπάνω τρόπο, ο αριθμός 218 θα αναπαρασταθεί με τον ακόλουθο τρόπο:
2 * 102 + 1 * 101 + 8 * 100
= 2 * 100 + 1 * 10 + 8 * 1
= 200 + 10 + 8
= 218
Ας πάρουμε τώρα ένα παράδειγμα οποιουδήποτε κλασματικού δεκαδικού αριθμού. Ας έχουμε έναν αριθμό 821.128. Κάθε ψηφίο που εμφανίζεται στα αριστερά της υποδιαστολής αντιπροσωπεύει μια τιμή μεταξύ μηδέν και εννέα και η ισχύς του δέκα αντιπροσωπεύεται από τη θέση του στον αριθμό (ξεκινώντας από το 0).
Τα ψηφία που εμφανίζονται στα δεξιά της υποδιαστολής αντιπροσωπεύουν μια τιμή μεταξύ μηδέν και εννέα φορές μια αυξανόμενη αρνητική δύναμη του δέκα. Ας δούμε πώς:
8 * 102 + 2 * 101 + 1 * 100 + 1 * 10-1 + 2 * 10-2 + 8 * 10-3
= 8 * 100 + 2 * 10 + 1 * 1 + 1 * 0.1 + 2 * 0.01 + 8 * 0.001
= 800 + 20 + 1 + 0.1 + 0.02 + 0.008
= 821.128
Δυαδικό σύστημα αριθμών
Σήμερα τα περισσότερα από τα σύγχρονα συστήματα υπολογιστών λειτουργούν χρησιμοποιώντας δυαδική λογική. Ο υπολογιστής αντιπροσωπεύει τιμές χρησιμοποιώντας δύο επίπεδα τάσης που υποδεικνύουν είτε OFF είτε ON χρησιμοποιώντας 0 και 1. Για παράδειγμα, η τάση 0V αντιπροσωπεύεται συνήθως με τη λογική 0 και η τάση +3,3 V ή +5V αντιπροσωπεύεται από τη λογική 1. Έτσι με δύο επίπεδα μπορούμε να αναπαραστήσουμε ακριβώς δύο διαφορετικές τιμές. Αυτές θα μπορούσαν να είναι δύο διαφορετικές τιμές, αλλά κατά συνθήκη χρησιμοποιούμε τις τιμές 0 και 1.
Δεδομένου ότι υπάρχει αντιστοιχία μεταξύ των λογικών επιπέδων που χρησιμοποιεί ο υπολογιστής και των δύο ψηφίων που χρησιμοποιούνται στο δυαδικό σύστημα αρίθμησης, δεν πρέπει να προκαλεί έκπληξη το γεγονός ότι οι υπολογιστές χρησιμοποιούν το δυαδικό σύστημα.
Το δυαδικό σύστημα αριθμών λειτουργεί όπως το δεκαδικό σύστημα αριθμών, εκτός από το ότι το Δυαδικό Σύστημα Αριθμών χρησιμοποιεί τη βάση 2 και περιλαμβάνει μόνο τα ψηφία 0 και 1 και η χρήση οποιουδήποτε άλλου ψηφίου θα καθιστούσε τον αριθμό μη έγκυρο δυαδικό αριθμό.
Οι σταθμισμένες τιμές για κάθε θέση αντιπροσωπεύονται ως εξής:
Ο παρακάτω πίνακας δείχνει την αναπαράσταση του δυαδικού αριθμού έναντι των δεκαδικών αριθμών:
Decimal Number |
Binary Number Representation |
0 |
0000 |
1 |
0001 |
2 |
0010 |
3 |
0011 |
4 |
0100 |
5 |
0101 |
6 |
0110 |
7 |
0111 |
8 |
1000 |
9 |
1001 |
10 |
1010 |
11 |
1011 |
12 |
1100 |
13 |
1101 |
14 |
1110 |
15 |
1111 |
Συνήθως στην περίπτωση των δεκαδικών αριθμών, κάθε τρία δεκαδικά ψηφία χωρίζονται με κόμμα για να διευκολύνουν την ανάγνωση των μεγαλύτερων αριθμών. Για παράδειγμα, είναι πολύ πιο εύκολο να διαβάσετε έναν αριθμό 840.349.823 από τον αριθμό 840349823.
Έχοντας έμπνευση από την ίδια ιδέα, υπάρχει μια παρόμοια σύμβαση για τους δυαδικούς αριθμούς, έτσι ώστε να είναι ευκολότερη η ανάγνωση των δυαδικών αριθμών, αλλά στην περίπτωση των δυαδικών αριθμών θα προσθέτουμε ένα κενό κάθε τέσσερα ψηφία ξεκινώντας από το λιγότερο σημαντικό ψηφίο στο αριστερά της υποδιαστολής.
Για παράδειγμααν η δυαδική τιμή είναι 1010011001101011, θα γραφτεί ως 1010 0110 0110 1011.
Μετατροπή δυαδικού σε δεκαδικό αριθμό
Για να μετατρέψουμε τον δυαδικό αριθμό στον δεκαδικό αριθμό, πολλαπλασιάζουμε κάθε ψηφίο με τη σταθμισμένη θέση του και προσθέτουμε καθεμία από τις σταθμισμένες τιμές μαζί. Για παράδειγμα, η δυαδική τιμή 1011 0101 αντιπροσωπεύει:
1*27 + 0*26 + 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20
= 1 * 128 + 0 * 64 + 1 * 32 + 1 * 16 + 0 * 8 + 1 * 4 + 0 * 2 + 1 * 1
= 128 + 0 + 32 + 16 + 0 + 4 + 0 + 1
= 181
Μετατροπή δεκαδικού σε δυαδικό αριθμό
Για να μετατρέψετε οποιονδήποτε δεκαδικό αριθμό στο δυαδικό του σύστημα αριθμών, η γενική μέθοδος είναι να διαιρέσετε τον δεκαδικό αριθμό με το 2, εάν το υπόλοιπο είναι 0, στο πλάι σημειώστε ένα 0. Εάν το υπόλοιπο είναι 1, σημειώστε το 1.
Αυτή η διαδικασία συνεχίζεται διαιρώντας το πηλίκο με το 2 και ρίχνοντας το προηγούμενο υπόλοιπο έως ότου το πηλίκο γίνει 0. Κατά την εκτέλεση της διαίρεσης, τα υπόλοιπα που θα αντιπροσωπεύουν το δυαδικό ισοδύναμο του δεκαδικού αριθμού, γράφονται αρχίζοντας από το λιγότερο σημαντικό ψηφίο (δεξιά) και κάθε νέο ψηφίο γράφεται σε πιο σημαντικό ψηφίο (το αριστερό) του προηγούμενου ψηφίου.
Ας πάρουμε ένα παράδειγμα. Θεωρήστε τον αριθμό 2671. Η δυαδική μετατροπή για τον αριθμό 2671 έχει δοθεί στον παρακάτω πίνακα.
Division |
Quotient |
Remainder |
Binary Number |
2671 / 2 |
1335 |
1 |
1 |
1335 / 2 |
667 |
1 |
11 |
667 / 2 |
333 |
1 |
111 |
333 / 2 |
166 |
1 |
1111 |
166 / 2 |
83 |
0 |
0 1111 |
83 / 2 |
41 |
1 |
10 1111 |
41 / 2 |
20 |
1 |
110 1111 |
20 / 2 |
10 |
0 |
0110 1111 |
10 / 2 |
5 |
0 |
0 0110 1111 |
5 / 2 |
2 |
1 |
10 0110 1111 |
2 / 2 |
1 |
0 |
010 0110 1111 |
1 / 2 |
0 |
1 |
1010 0110 1111 |
Αυτός ο πίνακας είναι για να διευκρινίσει κάθε βήμα της μετατροπής, ωστόσο στην πράξη και για να έχετε την ευκολία και την ταχύτητα της μετατροπής, μπορείτε να ακολουθήσετε τον ακόλουθο τρόπο για να λάβετε τα αποτελέσματα.
Έστω 1980 είναι οποιοσδήποτε δεκαδικός αριθμός που πρέπει να μετατραπεί στο δυαδικό του ισοδύναμο. Αν ακολουθήσουμε τη μέθοδο που δίνεται στον πίνακα, θα λύσουμε αυτό το πρόβλημα με τον ακόλουθο τρόπο:
Όταν τακτοποιήσουμε τα υπόλοιπα σύμφωνα με την κατεύθυνση του βέλους, παίρνουμε τον δυαδικό αριθμό που ισοδυναμεί με τον δεκαδικό αριθμό 1980 = 0111 1011 1100
Μορφές δυαδικών αριθμών
Τυπικά γράφουμε δυαδικούς αριθμούς ως ακολουθία bit. Το "bits" είναι συντομογραφία για τα "δυαδικά ψηφία" σε μια μηχανή. Υπάρχουν καθορισμένα όρια μορφής για αυτά τα bit. Αυτά τα όρια μορφής έχουν αναπαρασταθεί στον ακόλουθο πίνακα:
Name |
Size in bits |
Example |
Bit |
1 |
1 |
Nibble |
4 |
0101 |
Byte |
8 |
0000 0101 |
Word |
16 |
0000 0000 0000 0101 |
Double Word |
32 |
0000 0000 0000 0000 0000 0000 0000 0101 |
Μπορούμε να προσθέσουμε όσα μηδενικά στην αρχή επιθυμούμε χωρίς να αλλάξουμε την τιμή του σε οποιαδήποτε βάση αριθμών, ωστόσο συνήθως προσθέτουμε μηδενικά για να προσαρμόσουμε τον δυαδικό αριθμό σε ένα επιθυμητό όριο μεγέθους.
Για παράδειγμα,μπορούμε να αναπαραστήσουμε τον αριθμό 7 όπως σε διαφορετικές περιπτώσεις όπως φαίνεται στον πίνακα:
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Bit |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
Nibble |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
1 |
1 |
Byte |
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
Word |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
Όπου το δεξιότερο bit σε έναν δυαδικό αριθμό είναι στη θέση bit μηδέν και σε κάθε bit προς τα αριστερά δίνεται ο επόμενος διαδοχικός αριθμός bit όπως φαίνεται στον παραπάνω πίνακα.
Το bit μηδέν αναφέρεται συνήθως ως το Λιγότερο Σημαντικό Bit ή LSB και το πιο αριστερό bit ονομάζεται συνήθως το πιο σημαντικό bit ή MSB. Ενημερώστε μας για αυτές τις μορφές αναπαράστασης:
το κομμάτι
Ένα Bit είναι η μικρότερη μονάδα δεδομένων σε έναν δυαδικό υπολογιστή. Ένα μόνο bit μπορεί να αναπαριστά μόνο μία τιμή, είτε 0 είτε 1. Εάν χρησιμοποιείτε ένα bit για να αναπαραστήσετε μια τιμή Boolean (True/False), τότε αυτό τοbit αντιπροσωπεύει true ή false.
το τσιμπολόγημα
Το Nibble έρχεται ειδικά στην περιοχή ενδιαφέροντος όταν μιλάμε για συστήματα αριθμών, BCD (Binary Coded Decimal) ή/και δεκαεξαδικούς (βάση 16) αριθμούς.
Το nibble είναι μια συλλογή από bit σε ένα όριο 4 bit. Χρειάζονται τέσσερα bit για να αναπαραστήσουν ένα μόνο BCD ή δεκαεξαδικό ψηφίο. Με ένα τσιμπολόγημα, μπορούμε να αναπαραστήσουμε έως και 16 διακριτές τιμές.
Στην περίπτωση των δεκαεξαδικών αριθμών, οι τιμές 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E και F αντιπροσωπεύονται με τέσσερα bit. Το BCD χρησιμοποιεί δέκα διαφορετικά ψηφία (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) και απαιτεί τέσσερα bit.
Στην πραγματικότητα, οποιεσδήποτε δεκαέξι διακριτές τιμές μπορούν να αναπαρασταθούν με ένα τσιμπολόγημα, αλλά τα δεκαεξαδικά ψηφία και τα ψηφία BCD είναι τα κύρια στοιχεία που μπορούμε να αναπαραστήσουμε με μία μόνο τσιμπίδα. Η αναπαράσταση επιπέδου bit του nibble θα είναι η εξής:
το byte
Το Byte είναι η πιο σημαντική δομή δεδομένων που χρησιμοποιείται από μικροεπεξεργαστή 80x86. Ένα byte αποτελείται από οκτώ bit και είναι το μικρότερο διευθυνσιοδοτούμενο στοιχείο δεδομένων στον μικροεπεξεργαστή. Η κύρια μνήμη και οι διευθύνσεις εισόδου/εξόδου στον υπολογιστή είναι όλες διευθύνσεις byte και επομένως το μικρότερο στοιχείο που μπορεί να προσπελαστεί μεμονωμένα από προγράμματα μικροεπεξεργαστή 80x86 είναι μια τιμή 8-bit.
Για να αποκτήσετε πρόσβαση σε οτιδήποτε μικρότερο απαιτείται να διαβάσετε το byte που περιέχει τα δεδομένα και να κρύψετε τα ανεπιθύμητα bit. Θα κάνουμε τον προγραμματισμό για να το κάνουμε αυτό στα επόμενα κεφάλαια.
Η πιο σημαντική χρήση ενός byte είναι η διατήρηση ενός κωδικού χαρακτήρα. Τα bit σε ένα byte αριθμούνται από το bit μηδέν (b0) έως το επτά (b7) ως εξής:
Το bit 0 (b0) είναι το bit χαμηλής τάξης ή το λιγότερο σημαντικό bit και το bit 7 (b7) είναι το bit υψηλής τάξης ή το πιο σημαντικό bit του byte.
Δεδομένου ότι εδώ βλέπουμε ότι ένα byte περιέχει ακριβώς δύο nibbles όπου τα bit b0 έως b3 αποτελούν το nibble χαμηλής τάξης και τα bit b4 έως b7 σχηματίζουν το nibble υψηλής τάξης.
Δεδομένου ότι ένα byte περιέχει ακριβώς δύο nibbles, οι τιμές byte απαιτούν δύο δεκαεξαδικά ψηφία.
Καθώς ο παραδοσιακός σύγχρονος υπολογιστής είναι μια μηχανή με δυνατότητα διευθυνσιοδότησης byte, αποδεικνύεται ότι είναι πιο αποτελεσματικό να χειριστείτε ένα ολόκληρο byte από ένα μεμονωμένο bit ή nibble.
Αυτός είναι ο λόγος που οι περισσότεροι προγραμματιστές χρησιμοποιούν ένα ολόκληρο byte για να αναπαραστήσουν τύπους δεδομένων που δεν απαιτούν περισσότερα από 256 στοιχεία
Δεδομένου ότι ένα Byte περιέχει οκτώ bit, μπορεί να αντιπροσωπεύει 28 ή 256 διαφορετικές τιμές, επειδή ο μέγιστος δυαδικός αριθμός των 8 bit μπορεί να είναι 1111 1111 που ισοδυναμεί με 256 (Δεκαδικό), επομένως γενικά χρησιμοποιείται ένα byte για να αντιπροσωπεύει τα ακόλουθα:
- ανυπόγραφες αριθμητικές τιμές στην περιοχή από 0 έως 255
- υπογεγραμμένοι αριθμοί στην περιοχή -128 έως +127
- Κωδικοί χαρακτήρων ASCII
- Και άλλοι ειδικοί τύποι δεδομένων που δεν απαιτούν περισσότερες από 256 διαφορετικές τιμές, καθώς πολλοί τύποι δεδομένων έχουν λιγότερα από 256 στοιχεία, επομένως οκτώ bit είναι συνήθως επαρκή.
Η λέξη
Μια λέξη είναι μια ομάδα 16 bitς. Αλλά παραδοσιακά το όριο για ένα Word ορίζεται είτε ως 16-bit είτε ως το μέγεθος του διαύλου δεδομένων για τον επεξεργαστή και μια διπλή λέξη είναι δύο λέξεις. Επομένως, ένα Word και ένα Double Word δεν είναι σταθερό μέγεθος αλλά διαφέρει από σύστημα σε σύστημα ανάλογα με τον επεξεργαστή. Ωστόσο, για εννοιολογική ανάγνωση, θα ορίσουμε μια λέξη ως δύο byte.
Όταν βλέπουμε μια λέξη σε επίπεδο bit, θα αριθμηθεί ως τα bit σε μια λέξη ξεκινώντας από το bit μηδέν (b0) έως το δεκαπέντε (b15). Η αναπαράσταση επιπέδου bit θα είναι η εξής:
Όπου το bit 0 είναι το LSB (Last Significant Bit) και το bit 15 είναι το MSB (Most Significant Bit). Όταν χρειάζεται να παραπέμψετε τα άλλα bit σε μια λέξη, ο αριθμός θέσης του bit χρησιμοποιείται για την παραπομπή τους.
Με αυτόν τον τρόπο μια λέξη περιέχει ακριβώς δύο byte έτσι ώστε από το Bit b0 στο Bit b7 να σχηματίζουν το byte χαμηλής τάξης και τα bit από b8 έως b15 να σχηματίζουν το byte υψηλής τάξης. Με μια λέξη 16-bit, μπορούμε να αντιπροσωπεύσουμε 216 (65536) διαφορετικές τιμές. Αυτές οι τιμές μπορεί να είναι οι ακόλουθες:
- Οι ανυπόγραφες αριθμητικές τιμές στην περιοχή από 0 έως 65.535.
- Οι υπογεγραμμένες αριθμητικές τιμές στην περιοχή από -32.768 έως +32.767
- Οποιοσδήποτε τύπος δεδομένων με όχι περισσότερες από 65.536 τιμές. Με αυτόν τον τρόπο οι λέξεις χρησιμοποιούνται κυρίως για:
- Τιμές ακέραιων δεδομένων 16 bit
- Διευθύνσεις μνήμης 16-bit
- Οποιοδήποτε σύστημα αριθμών που απαιτεί 16 bit ή λιγότερα
Η διπλή λέξη
Μια διπλή λέξη είναι ακριβώς σύμφωνα με το όνομά της και είναι δύο λέξεις. Επομένως, μια ποσότητα διπλής λέξης είναι 32 bit. Η διπλή λέξη μπορεί επίσης να χωριστεί σε μια λέξη υψηλής τάξης και μια λέξη χαμηλής τάξης, τέσσερα byte ή οκτώ τσιμπήματα κ.λπ.
Με αυτόν τον τρόπο η Διπλή λέξη μπορεί να αντιπροσωπεύει όλα τα είδη διαφορετικών δεδομένων. Μπορεί να είναι από τα ακόλουθα:
- Μια ανυπόγραφη διπλή λέξη στην περιοχή από 0 έως 4.294.967.295,
- Μια υπογεγραμμένη διπλή λέξη στην περιοχή από -2.147.483.648 έως 2.147.483.647,
- Τιμή κινητής υποδιαστολής 32 bit
- Ή οποιαδήποτε άλλα δεδομένα απαιτούν 32 bit ή λιγότερα.
Οκταδικό σύστημα αριθμών
Το Octal Number System ήταν δημοφιλές στα παλιά συστήματα υπολογιστών, αλλά χρησιμοποιείται πολύ σπάνια σήμερα. Ωστόσο, θα πάρουμε ένα ιδανικό του Octal System μόνο για γνώση.
Το σύστημα Octal βασίζεται στο δυαδικό σύστημα με όριο 3 bit. Το σύστημα οκταδικών αριθμών χρησιμοποιεί τη βάση 8 και περιλαμβάνει μόνο τα ψηφία από το 0 έως το 7. Με αυτόν τον τρόπο οποιοδήποτε άλλο ψηφίο θα καθιστούσε τον αριθμό μη έγκυρο οκταδικό αριθμό.
Οι σταθμισμένες τιμές για κάθε θέση είναι οι εξής στον πίνακα:
(base)power |
85 |
84 |
83 |
82 |
81 |
80 |
Value |
32768 |
4096 |
512 |
64 |
8 |
1 |
Δυαδική σε οκταδική μετατροπή
Για να μετατρέψουμε από έναν ακέραιο δυαδικό αριθμό σε οκταδικό ακολουθούμε τα ακόλουθα δύο βήματα:
Αρχικά σπάστε τον δυαδικό αριθμό σε τμήματα 3 bit από το LSB στο MSB. Και μετά μετατρέψτε τον δυαδικό αριθμό 3-bit στο οκταδικό ισοδύναμό του. Ας πάρουμε ένα παράδειγμα για να το καταλάβουμε καλύτερα. Εάν έχουμε δώσει οποιονδήποτε δυαδικό αριθμό, π.χ. 11001011010001, για να μετατραπεί σε Οκταδικό Αριθμητικό Σύστημα, θα εφαρμόσουμε τα παραπάνω δύο βήματα σε αυτόν τον αριθμό ως εξής:
3-bit Section of Binary Number |
011 |
001 |
011 |
010 |
001 |
Equivalent number |
3 |
1 |
3 |
2 |
1 |
Έτσι ο Οκταδικός Αριθμός, Ισοδυναμεί μεΟ Δυαδικός Αριθμός 11001011010001 is 31321.
Οκταδική σε δυαδική μετατροπή
Για να μετατρέψουμε οποιονδήποτε ακέραιο οκταδικό αριθμό στον αντίστοιχο δυαδικό του αριθμό, ακολουθούμε τα ακόλουθα δύο βήματα:
Μετατρέψτε πρώτα τον δεκαδικό αριθμό στο δυαδικό ισοδύναμό του 3-bit. Στη συνέχεια, συνδυάστε τα τμήματα των 3 bit αφαιρώντας τα κενά. Ας πάρουμε ένα παράδειγμα. Εάν έχουμε οποιονδήποτε οκταδικό ακέραιο αριθμό 31321(Q) για μετατροπή στον αντίστοιχο δυαδικό του αριθμό, θα εφαρμόσουμε τα παραπάνω δύο βήματα ως εξής:
Equivalent number |
3 |
1 |
3 |
2 |
1 |
3-bit Section of Binary Number |
011 |
001 |
011 |
010 |
001 |
Έτσι το δυαδικό ισοδύναμο για τον οκταδικό αριθμό 31321(Q) είναι 011 0010 1101 0001.
Μετατροπή οκταδικού σε δεκαδικό
Για να μετατρέψουμε οποιονδήποτε οκταδικό αριθμό σε δεκαδικό, πολλαπλασιάζουμε την τιμή σε κάθε θέση με το οκταδικό βάρος της και προσθέτουμε κάθε τιμή.
Ας πάρουμε ένα παράδειγμα για να το κατανοήσουμε καλύτερα. Ας έχουμε οποιονδήποτε οκταδικό αριθμό 31321Q που πρέπει να μετατραπεί στον αντίστοιχο δεκαδικό του αριθμό. Στη συνέχεια θα ακολουθήσουμε τα παρακάτω βήματα:
3*84 + 1*83 + 3*82 + 2*81 + 1*80
= 3*4096 + 1*512 + 3*64 + 2*8 + 1*1
= 12288 + 512 + 192 + 16 + 1
= 13009
Μετατροπή δεκαδικού σε οκταδικό
Η μετατροπή του δεκαδικού σε οκταδική είναι ελαφρώς πιο δύσκολη. Η τυπική μέθοδος μετατροπής από δεκαδικό σε οκταδικό είναι η επαναλαμβανόμενη διαίρεση με το 8. Για αυτή τη μέθοδο διαιρούμε τον δεκαδικό αριθμό με το 8 και γράφουμε το υπόλοιπο στην πλευρά ως το λιγότερο σημαντικό ψηφίο. Αυτή η διαδικασία συνεχίζεται διαιρώντας το πηλίκο με το 8 και γράφοντας το υπόλοιπο έως ότου το πηλίκο γίνει 0.
Κατά την εκτέλεση της διαίρεσης, τα υπόλοιπα που θα αντιπροσωπεύουν το οκταδικό ισοδύναμο του δεκαδικού αριθμού γράφονται αρχίζοντας από το λιγότερο σημαντικό ψηφίο (δεξιά) και κάθε νέο ψηφίο γράφεται στο επόμενο πιο σημαντικό ψηφίο (αριστερά) του προηγούμενου ψηφίο.
Ας το καταλάβουμε καλύτερα με ένα παράδειγμα. Εάν έχουμε οποιονδήποτε δεκαδικό αριθμό, ας πούμε 13009 (βρήκαμε αυτόν τον δεκαδικό αριθμό από το παραπάνω παράδειγμα και μετατρέποντάς τον σε οκταδικό αριθμό μπορούμε επίσης να ελέγξουμε το προηγούμενο παράδειγμα.) τότε αυτή η μέθοδος έχει περιγραφεί στον παρακάτω πίνακα:
Division |
Quotient |
Remainder |
Octal Number |
13009 / 8 |
1626 |
1 |
1 |
1626 / 8 |
203 |
2 |
21 |
203 / 8 |
25 |
3 |
321 |
25 / 8 |
3 |
1 |
1321 |
3 / 8 |
0 |
3 |
31321 |
Όπως μπορείτε να δείτε, επιστρέψαμε με τον αρχικό αριθμό. Αυτό πρέπει να περιμένουμε. Αυτός ο πίνακας ήταν για να κατανοήσει τη διαδικασία. Τώρα ας επαναλάβουμε την ίδια μετατροπή για να κατανοήσουμε τη μέθοδο που πρέπει να ακολουθηθεί στην πράξη για να έχετε ευκολία στην εργασία και να εξοικονομήσετε χρόνο επίσης. Και τα δύο είναι τα ίδια πράγματα στην πραγματικότητα.
Όταν τακτοποιήσουμε τα υπόλοιπα σύμφωνα με την κατεύθυνση του βέλους, παίρνουμε τον Οκταδικό Αριθμό 31321, τον οποίο περιμέναμε.
Δεκαεξαδικό σύστημα αριθμών
Ο δεκαεξαδικός αριθμός χρησιμοποιείται πιο συχνά στην ανάκτηση δεδομένων μας ή σε οποιονδήποτε άλλο τύπο προγραμματισμού αντιμετώπισης προβλημάτων δίσκου ή ανάλυσης δίσκου, επειδή οι δεκαεξαδικοί αριθμοί προσφέρουν τις δύο λειτουργίες ως εξής:
Οι δεκαεξαδικοί αριθμοί είναι πολύ συμπαγείς. Και είναι εύκολο να μετατραπεί από hex σε δυαδικό και δυαδικό σε hex. Όταν υπολογίζουμε πολλά σημαντικά πράγματα όπως Αριθμός κυλίνδρων, κεφαλών και τομέων ενός σκληρού δίσκου ή θα χρησιμοποιούμε προγράμματα επεξεργασίας σκληρού δίσκου για να αναλύσουμε διαφορετικά χαρακτηριστικά και προβλήματα, θα χρειαστούμε την καλή γνώση του συστήματος Hex. Το δεκαεξαδικό σύστημα βασίζεται στο δυαδικό σύστημα χρησιμοποιώντας ένα όριο Nibble ή 4-bit.
Το δεκαεξαδικό σύστημα αριθμών χρησιμοποιεί τη βάση 16 και περιλαμβάνει μόνο τα ψηφία από το 0 έως το 9 και τα γράμματα A, B, C, D, E και F. Χρησιμοποιούμε το H με τον αριθμό για να δηλώσουμε οποιοδήποτε δεκαεξαδικός αριθμός. Ο παρακάτω πίνακας δείχνει την αναπαράσταση διαφόρων συστημάτων αριθμών, διαφοροποιώντας τα μεταξύ τους:
Binary |
Octal |
Decimal |
Hex |
0000B |
00Q |
00 |
00H |
0001B |
01Q |
01 |
01H |
0010B |
02Q |
02 |
02H |
0011B |
03Q |
03 |
03H |
0100B |
04Q |
04 |
04H |
0101B |
05Q |
05 |
05H |
0110B |
06Q |
06 |
06H |
0111B |
07Q |
07 |
07H |
1000B |
10Q |
08 |
08H |
1001B |
11Q |
09 |
09H |
1010B |
12Q |
10 |
0AH |
1011B |
13Q |
11 |
0BH |
1100B |
14Q |
12 |
0CH |
1101B |
15Q |
13 |
0DH |
1110B |
16Q |
14 |
0EH |
1111B |
17Q |
15 |
0FH |
1 0000B |
20Q |
16 |
10H |
Αυτός ο πίνακας παρέχει όλες τις πληροφορίες που μπορεί να χρειαστεί να μετατρέψετε από μια αριθμητική βάση σε μια άλλη για τις δεκαδικές τιμές από 0 έως 16.
Οι σταθμισμένες τιμές για κάθε θέση για δεκαεξαδικούς αριθμούς φαίνονται στον παρακάτω πίνακα:
(Base)power |
163 |
162 |
161 |
160 |
Value |
4096 |
256 |
16 |
1 |
Μετατροπή δυαδικού σε δεκαεξαδικό
Για να μετατρέψετε έναν δυαδικό αριθμό σε δεκαεξαδική μορφή, πρώτα συμπληρώστε τον δυαδικό αριθμό με μηδενικά στην αριστερή πλευρά για να βεβαιωθείτε ότι ο δυαδικός αριθμός περιέχει πολλαπλάσια των τεσσάρων bit. Στη συνέχεια, ακολουθήστε τα ακόλουθα δύο βήματα:
Πρώτα, σπάστε τον δυαδικό αριθμό σε τμήματα 4 bit από το LSB στο MSB. Στη συνέχεια, μετατρέψτε τον δυαδικό αριθμό 4-bit στο ισοδύναμο Hex. Ας πάρουμε ένα παράδειγμα για να κατανοήσουμε καλύτερα τη μέθοδο. Ας έχουμε οποιονδήποτε δυαδικό αριθμό 100 1110 1101 0011 που θα μετατραπεί στον αντίστοιχο δεκαεξαδικό του αριθμό. Στη συνέχεια θα εφαρμόσουμε τα δύο παραπάνω βήματα όπως φαίνεται παρακάτω:
4-bit binary number section |
0100 |
1110 |
1101 |
0011 |
Hexadecimal value |
4 |
E |
D |
3 |
Έτσι η δεκαεξαδική τιμή, που αντιστοιχεί στονδυαδικό αριθμό 100 1110 1101 0011 is 4ED3.
Μετατροπή δεκαεξαδικού σε δυαδικό
Για να μετατρέψουμε έναν δεκαεξαδικό αριθμό σε δυαδικό αριθμό ακολουθούμε τα ακόλουθα δύο βήματα:
Πρώτα, μετατρέψτε τον δεκαεξαδικό αριθμό στο δυαδικό ισοδύναμο 4-bit. Στη συνέχεια, συνδυάστε τα τμήματα των 4 bit αφαιρώντας τα κενά. Για να κατανοήσουμε καλύτερα τη διαδικασία, ας πάρουμε ένα παράδειγμα του παραπάνω δεκαεξαδικού αριθμού, που είναι το 4ED3 και εφαρμόσουμε αυτά τα δύο βήματα σε αυτόν ως εξής
Hexadecimal value |
4 |
E |
D |
3 |
4-bit binary number section |
0100 |
1110 |
1101 |
0011 |
Έτσι για τον δεκαεξαδικό αριθμό 4ED3, παίρνουμε τον αντίστοιχο δυαδικό αριθμό = 0100 1110 1101 0011
Αυτή είναι η αναμενόμενη απάντηση.
Μετατροπή δεκαεξαδικού σε δεκαδικό Για τη μετατροπή από δεκαεξαδικό σε δεκαδικό πολλαπλασιάζουμε την τιμή σε κάθε θέση με το βάρος του δεκαεξαδικού και προσθέτουμε κάθε τιμή. Ας πάρουμε ένα παράδειγμα για να κατανοήσουμε καλύτερα τη διαδικασία. Ας υποθέσουμε ότι έχουμε οποιονδήποτε δεκαεξαδικό αριθμό 3ABE που πρέπει να μετατραπεί στον ισοδύναμο δεκαδικό του αριθμό. Τότε η διαδικασία θα είναι η εξής:
3*163 + A*162 + B*161 + E*160
= 3* 4096 + 10* 256 + 11*16 + 14
= 12288 + 2560 + 176 + 14
= 15038
Έτσι ο ισοδύναμος δεκαδικός αριθμός για τονδεκαεξαδικό αριθμό 3ABE is 15038.
Μετατροπή δεκαδικού σε δεκαεξαδικό
Για τη μετατροπή του δεκαδικού σε δεκαεξαδικό, η τυπική μέθοδος είναι επαναλαμβανόμενη διαίρεση με το 16. Για αυτήν τη μέθοδο, διαιρούμε τον δεκαδικό αριθμό με το 16 και γράφουμε το υπόλοιπο στην πλευρά ως το λιγότερο σημαντικό ψηφίο.
Αυτή η διαδικασία συνεχίζεται διαιρώντας το πηλίκο με το 16 και γράφοντας το υπόλοιπο έως ότου το πηλίκο γίνει 0. Κατά την εκτέλεση της διαίρεσης, τα υπόλοιπα που θα αντιπροσωπεύουν το δεκαδικό ισοδύναμο του δεκαδικού αριθμού γράφονται αρχίζοντας από το λιγότερο σημαντικό ψηφίο (δεξιά ) και κάθε νέο ψηφίο γράφεται στο επόμενο πιο σημαντικό ψηφίο (αριστερά) του προηγούμενου ψηφίου.
Ας το μάθουμε με παράδειγμα. Παίρνουμε τον δεκαδικό αριθμό 15038 που πήραμε μετά τη μετατροπή παραπάνω. Με αυτό μπορούμε επίσης να ελέγξουμε την παραπάνω μετατροπή και το αντίστροφο.
Division |
Quotient |
Remainder |
Hex Number |
15038 / 16 |
939 |
14 (E H) |
E |
939 / 16 |
58 |
11 (B H) |
BE |
58 / 16 |
3 |
10 (A H) |
ABE |
3 / 16 |
0 |
3 (3 H) |
03ABE |
Έτσι παίρνουμε δεκαεξαδικό αριθμό 03ABE H, ισοδύναμο με τον δεκαδικό αριθμό 15038 και με αυτόν τον τρόπο επιστρέφουμε στον αρχικό αριθμό. Αυτό πρέπει να περιμένουμε.
Ο πίνακας που δίνεται στη συνέχεια μπορεί να βοηθήσει στη γρήγορη αναζήτηση της μετατροπής δεκαεξαδικού αριθμού σε δεκαδικό αριθμό και αντίστροφα από το εύρος από 0 έως 255 δεκαδικούς αριθμούς.
Σε αυτόν τον Τετράγωνο πίνακα υπάρχουν 16 σειρές, ξεκινώντας από το 0 έως το Α και υπάρχουν 16 στήλες που ξεκινούν επίσης από το 0 έως το Α. Από αυτόν τον πίνακα μπορείτε να βρείτε τη δεκαδική τιμή οποιουδήποτε δεκαεξαδικού αριθμού που βρίσκεται μεταξύ του εύρους από 0H έως FFH. Σημαίνει ότι η δεκαδική τιμή του αριθμού πρέπει να είναι μεταξύ του εύρους από 0 έως 255 δεκαδικούς αριθμούς.
- Εύρεση δεκαδικής τιμής για δεκαεξαδικό αριθμό από τον παραπάνω πίνακα: Στον πίνακα που δίνεται παραπάνω, ο αριθμός των σειρών αντιπροσωπεύει το πρώτο δεκαεξαδικό ψηφίο (αριστερό δεκαεξαδικό ψηφίο) και ο αριθμός στηλών αντιπροσωπεύει το δεύτερο δεκαεξαδικό ψηφίο (δεξιό δεκαεξαδικό ψηφίο) του δεκαεξαδικού αριθμού.
Ας έχουμε οποιονδήποτε δεκαεξαδικό αριθμό, ας πούμε ACH, που θα μετατραπεί στον ισοδύναμο δεκαδικό αριθμό. Στη συνέχεια, θα δούμε τη δεκαδική τιμή στη στήλη Cth της σειράς Ath στον πίνακα και θα λάβουμε τη δεκαδική τιμή 172, που είναι ο ισοδύναμος δεκαδικός αριθμός για τον δεκαεξαδικό αριθμό ACH.
- Εύρεση δεκαεξαδικής τιμής για τον δεκαδικό αριθμό από τον παραπάνω πίνακα: Στον πίνακα που δίνεται παραπάνω, ο αριθμός των σειρών αντιπροσωπεύει το πρώτο δεκαεξαδικό ψηφίο (αριστερό δεκαεξαδικό ψηφίο) και ο αριθμός των στηλών αντιπροσωπεύει το δεύτερο δεκαεξαδικό ψηφίο (δεξιό δεκαεξαδικό ψηφίο) του δεκαεξαδικού αριθμού Επομένως, εάν έχετε οποιονδήποτε δεκαδικό αριθμό που πρέπει να μετατραπεί σε ισοδύναμο δεκαεξαδικό αριθμό, αναζητήστε τον αριθμό στον πίνακα και βρείτε την ισοδύναμη δεκαεξαδική τιμή ως εξής:
Δεκαεξαδική τιμή για τον δεκαδικό αριθμό = (Row Number)(Column Number)
Για παράδειγμα, αν θέλετε να βρείτε τον ισοδύναμο δεκαεξαδικό αριθμό για τον δεκαδικό αριθμό 154, δείτε τη θέση του αριθμού στον πίνακα. Ο αριθμός 154 βρίσκεται στην 9η σειρά και στη στήλη Ath του πίνακα. Έτσι, η ισοδύναμη δεκαεξαδική τιμή για τον δεκαδικό αριθμό 154 είναι 9AH.
Κωδικός ASCII
Η συντομογραφία ASCII σημαίνει American Standard Code for Information Interchange. Είναι ένα πρότυπο κωδικοποίησης για χαρακτήρες, αριθμούς και σύμβολα που είναι ίδιο με τους πρώτους 128 χαρακτήρες του συνόλου χαρακτήρων ASCII, αλλά διαφέρει από τους υπόλοιπους χαρακτήρες. Αυτοί οι άλλοι χαρακτήρες ονομάζονται συνήθως ειδικοί χαρακτήρες ASCII των Extended χαρακτήρων που έχουν οριστεί από την IBM.
Οι πρώτοι 32 χαρακτήρες που είναι κωδικοί ASCII 0 έως 1FH, σχηματίζουν ένα ειδικό σύνολο χαρακτήρων που δεν εκτυπώνονται. Αυτοί οι χαρακτήρες ονομάζονται χαρακτήρες ελέγχου επειδή αυτοί οι χαρακτήρες εκτελούν διάφορες λειτουργίες ελέγχου εκτυπωτή και οθόνης αντί να εμφανίζουν σύμβολα. Αυτοί οι χαρακτήρες παρατίθενται στον πίνακα χαρακτήρων ASCII που δίνεται σε αυτό το κεφάλαιο. Αυτοί οι χαρακτήρες ελέγχου έχουν τις ακόλουθες έννοιες:
NUL (Null):
Κανένας χαρακτήρας. Χρησιμοποιείται για πλήρωση χρόνου ή πλήρωσης χώρου στην επιφάνεια (όπως η επιφάνεια της πιατέλας) της συσκευής αποθήκευσης όπου δεν υπάρχουν δεδομένα. Θα χρησιμοποιήσουμε αυτόν τον χαρακτήρα όταν προγραμματίζουμε υαλοκαθαριστήρες δεδομένων (καταστροφικούς και μη καταστρεπτικούς και τους δύο) για να εξαλείψουμε τον χώρο που δεν έχει εκχωρηθεί, έτσι ώστε τα διαγραμμένα δεδομένα να μην μπορούν να ανακτηθούν από κανέναν ή από κανένα πρόγραμμα.
SOH (Έναρξη Επικεφαλίδας):
Αυτός ο χαρακτήρας χρησιμοποιείται για να υποδείξει την αρχή της επικεφαλίδας, η οποία μπορεί να περιέχει πληροφορίες διεύθυνσης ή δρομολόγησης.
TX (Έναρξη κειμένου):
Αυτός ο χαρακτήρας χρησιμοποιείται για να υποδείξει την αρχή του κειμένου και με αυτόν τον τρόπο χρησιμοποιείται επίσης για να υποδείξει το τέλος της επικεφαλίδας.
ETX (Τέλος κειμένου):
Αυτός ο χαρακτήρας χρησιμοποιείται για τον τερματισμό του κειμένου που ξεκίνησε με το STX.
ΕΟΤ (Τέλος Μετάδοσης):
Αυτός ο χαρακτήρας υποδεικνύει το τέλος της μετάδοσης, η οποία μπορεί να περιλάμβανε μία ή περισσότερες "δοκιμές" με τις επικεφαλίδες τους.
ENQ (Ερώτηση):
Είναι ένα αίτημα για απάντηση από έναν απομακρυσμένο σταθμό. Είναι ένα αίτημα για έναν σταθμό να αυτοπροσδιοριστεί.
ACK (Αποδοχή):
Είναι ένας χαρακτήρας που μεταδίδεται από μια συσκευή λήψης ως απάντηση επιβεβαίωσης σε ένα τριβείο. Χρησιμοποιείται ως θετική απάντηση σε μηνύματα δημοσκοπήσεων.
BEL (Καμπάνα):
Χρησιμοποιείται όταν χρειάζεται να επιστήσουμε την προσοχή του ανθρώπου. Μπορεί να ελέγχει συσκευές συναγερμού ή προσοχής. Μπορείτε να ακούσετε έναν ήχο καμπάνας από τα ηχεία που είναι συνδεδεμένα στον υπολογιστή σας όταν πληκτρολογείτε αυτόν τον χαρακτήρα στη γραμμή εντολών όπως δίνεται παρακάτω:
C:\> Echo ^G
Εδώ το ^G εκτυπώνεται με το συνδυασμό πλήκτρων Ctrl + G.
BS (Backspace):
Αυτός ο χαρακτήρας υποδεικνύει την κίνηση του μηχανισμού εκτύπωσης ή του δρομέα της οθόνης προς τα πίσω σε μία θέση.
HT (Οριζόντια καρτέλα):
Δηλώνει την κίνηση του μηχανισμού εκτύπωσης ή του δρομέα της οθόνης προς τα εμπρός στην επόμενη προκαθορισμένη "Tab" ή θέση διακοπής.
LF (Τροφοδοσία γραμμής):
Δηλώνει την κίνηση του μηχανισμού εκτύπωσης ή του δρομέα της οθόνης στην αρχή της επόμενης γραμμής.
VT (Κάθετη καρτέλα):
Δηλώνει την κίνηση του μηχανισμού εκτύπωσης ή του δρομέα της οθόνης στην επόμενη από μια σειρά προκαθορισμένων γραμμών εκτύπωσης.
FF (Ροή φόρμας):
Δηλώνει την κίνηση του μηχανισμού εκτύπωσης ή του δρομέα της οθόνης στην αρχική θέση της επόμενης σελίδας, από ή οθόνης.
CR (Επιστροφή μεταφοράς):
Δηλώνει την κίνηση του μηχανισμού εκτύπωσης ή του δρομέα της οθόνης στην αρχική θέση της ίδιας γραμμής.
ΛΟΙΠΟΝ (Shift Out):
Δηλώνει ότι οι συνδυασμοί κωδικών που ακολουθούν θα ερμηνεύονται ως εκτός του τυπικού συνόλου χαρακτήρων μέχρι να επιτευχθεί ένας χαρακτήρας Shift In.
I (Shift In):
Δηλώνει ότι οι συνδυασμοί κωδικών που ακολουθούν θα ερμηνεύονται σύμφωνα με το τυπικό σύνολο χαρακτήρων.
DLE (Διαφυγή συνδέσμου δεδομένων):
Είναι ένας χαρακτήρας που θα αλλάξει τη σημασία ενός ή περισσότερων συνεχόμενων χαρακτήρων. Μπορεί να παρέχει συμπληρωματικό έλεγχο ή να επιτρέπει την αποστολή χαρακτήρων δεδομένων με οποιονδήποτε συνδυασμό bit.
DC1, DC2, DC3 και DC4 (Στοιχεία ελέγχου συσκευής):
Αυτοί είναι οι χαρακτήρες για τον έλεγχο βοηθητικών συσκευών ή ειδικών χαρακτηριστικών τερματικών.
NAK (αρνητική αναγνώριση):
Είναι ένας χαρακτήρας που μεταδίδεται από μια συσκευή λήψης ως αρνητική απάντηση σε έναν αποστολέα. Χρησιμοποιείται ως αρνητική απάντηση σε μήνυμα δημοσκόπησης.
SYN (Σύγχρονος/ Αδράνεια):
χρησιμοποιείται από ένα σύστημα σύγχρονης μετάδοσης για την επίτευξη συγχρονισμού όταν δεν αποστέλλονται δεδομένα, ένα σύστημα σύγχρονης μετάδοσης μπορεί να στέλνει χαρακτήρες SYN συνεχώς.
ETB (Τέλος μπλοκ μετάδοσης):
Αυτός ο χαρακτήρας υποδεικνύει το τέλος ενός μπλοκ δεδομένων για σκοπούς επικοινωνίας. Χρησιμοποιείται για τον αποκλεισμό δεδομένων, όπου η δομή μπλοκ δεν σχετίζεται απαραίτητα με τη μορφή επεξεργασίας.
CAN (Ακύρωση): Υποδεικνύει ότι τα δεδομένα που προηγούνται σε ένα μήνυμα ή μπλοκ θα πρέπει να αγνοούνται συνήθως επειδή έχει εντοπιστεί σφάλμα.
EM (Τέλος μέσου): Υποδηλώνει το φυσικό άκρο μιας ταινίας, επιφάνειας (συνήθως μιας πλάκας δίσκου) ή άλλου μέσου ή άκρου του απαιτούμενου από χρησιμοποιημένο τμήμα του μέσου.
SUB (Υποκατάστατο): Είναι ένα υποκατάστατο για έναν χαρακτήρα που διαπιστώθηκε ότι είναι λανθασμένος ή άκυρος.
ESC (Escape): Είναι ένας χαρακτήρας που προορίζεται να παρέχει επέκταση κώδικα, δεδομένου ότι δίνει σε έναν καθορισμένο αριθμό χαρακτήρων που ακολουθούν συνεχώς μια εναλλακτική σημασία.
FS (Διαχωριστής αρχείων): Αυτός ο χαρακτήρας χρησιμοποιείται ως χαρακτήρας διαχωρισμού αρχείων.
GS (Διαχωριστικό ομάδας): Χρησιμοποιείται ως χαρακτήρας διαχωρισμού ομάδας.
RS (Διαχωριστικό εγγραφών): Χρησιμοποιείται ως χαρακτήρας διαχωρισμού εγγραφών.
ΗΠΑ (United Separator):
Είναι ένας ενιαίος διαχωριστικός χαρακτήρας.
Η δεύτερη ομάδα 32 κωδικών χαρακτήρων ASCII έχει διάφορα σύμβολα στίξης, ειδικούς χαρακτήρες και αριθμητικά ψηφία. Οι πιο αξιοσημείωτοι χαρακτήρες σε αυτήν την ομάδα περιλαμβάνουν τους ακόλουθους:
space character (ASCII code 20H)
numeric digits 0 through 9 (ASCII codes 30h through 39h)
mathematical and logical symbols
SP (Space):
Είναι ένας μη εκτυπωτικός χαρακτήρας που χρησιμοποιείται για τον διαχωρισμό λέξεων ή για τη μετακίνηση του μηχανισμού εκτύπωσης ή για την εμφάνιση του δρομέα προς τα εμπρός κατά μία θέση.
Η τρίτη ομάδα των 32 χαρακτήρων ASCII είναι η ομάδα των κεφαλαίων αλφαβητικών χαρακτήρων. Οι κωδικοί ASCII για τους χαρακτήρες A έως Z βρίσκονται στην περιοχή 41H έως 5AH. Δεδομένου ότι υπάρχουν μόνο 26 διαφορετικοί αλφαβητικοί χαρακτήρες, οι υπόλοιποι έξι κωδικοί περιέχουν διάφορα ειδικά σύμβολα.
Η τέταρτη ομάδα των 32 κωδικών χαρακτήρων ASCII είναι η ομάδα των πεζών αλφαβητικών συμβόλων, πέντε πρόσθετων ειδικών συμβόλων και ενός άλλου διαγραφή χαρακτήρων ελέγχου.
DEL (Διαγραφή):
Χρησιμοποιείται για τη διαγραφή ανεπιθύμητων χαρακτήρων αντί για τη διαγραφή των ανεπιθύμητων χαρακτήρων.
Έχουν εμφανιστεί δύο πίνακες στη συνέχεια, που αντιπροσωπεύουν τους κωδικούς ASCII και τους εκτεταμένους χαρακτήρες. Ο πρώτος πίνακας αντιπροσωπεύει και τις τέσσερις ομάδες διαφορετικών τύπων χαρακτήρων που περιγράφονται. Αυτός ο πίνακας είναι αναπαράσταση δεδομένων και πίνακας ASCII όπως φαίνεται παρακάτω:
Πίνακας αναπαράστασης δεδομένων και κωδικών ASCII:
HEX |
DEC |
CHR |
CTRL |
00 |
0 |
NUL |
^@ |
01 |
1 |
SOH |
^A |
02 |
2 |
STX |
^B |
03 |
3 |
ETX |
^C |
04 |
4 |
EOT |
^D |
05 |
5 |
ENQ |
^E |
06 |
6 |
ACK |
^F |
07 |
7 |
BEL |
^G |
08 |
8 |
BS |
^H |
09 |
9 |
HT |
^I |
0A |
10 |
LF |
^J |
0B |
11 |
VT |
^K |
0C |
12 |
FF |
^L |
0D |
13 |
CR |
^M |
0E |
14 |
SO |
^N |
0F |
15 |
SI |
^O |
10 |
16 |
DLE |
^P |
11 |
17 |
DC1 |
^Q |
12 |
18 |
DC2 |
^R |
13 |
19 |
DC3 |
^S |
14 |
20 |
DC4 |
^T |
15 |
21 |
NAK |
^U |
16 |
22 |
SYN |
^V |
17 |
23 |
ETB |
^W |
18 |
24 |
CAN |
^X |
19 |
25 |
EM |
^Y |
1A |
26 |
SUB |
^Z |
1B |
27 |
ESC |
1C |
28 |
FS |
1D |
29 |
GS |
1E |
30 |
RS |
1F |
31 |
US |
HEX |
DEC |
CHR |
20 |
32 |
SP |
21 |
33 |
! |
22 |
34 |
" |
23 |
35 |
# |
24 |
36 |
$ |
25 |
37 |
% |
26 |
38 |
& |
27 |
39 |
' |
28 |
40 |
( |
29 |
41 |
) |
2A |
42 |
* |
2B |
43 |
+ |
2C |
44 |
, |
2D |
45 |
- |
2E |
46 |
. |
2F |
47 |
/ |
30 |
48 |
0 |
31 |
49 |
1 |
32 |
50 |
2 |
33 |
51 |
3 |
34 |
52 |
4 |
35 |
53 |
5 |
36 |
54 |
6 |
37 |
55 |
7 |
38 |
56 |
8 |
39 |
57 |
9 |
3A |
58 |
: |
3B |
59 |
; |
3C |
60 |
< |
3D |
61 |
= |
3E |
62 |
> |
3F |
63 |
? |
HEX |
DEC |
CHR |
40 |
64 |
@ |
41 |
65 |
A |
42 |
66 |
B |
43 |
67 |
C |
44 |
68 |
D |
45 |
69 |
E |
46 |
70 |
F |
47 |
71 |
G |
48 |
72 |
H |
49 |
73 |
I |
4A |
74 |
J |
4B |
75 |
K |
4C |
76 |
L |
4D |
77 |
M |
4E |
78 |
N |
4F |
79 |
O |
50 |
80 |
P |
51 |
81 |
Q |
52 |
82 |
R |
53 |
83 |
S |
54 |
84 |
T |
55 |
85 |
U |
56 |
86 |
V |
57 |
87 |
W |
58 |
88 |
X |
59 |
89 |
Y |
5A |
90 |
Z |
5B |
91 |
[ |
5C |
92 |
\ |
5D |
93 |
] |
5E |
94 |
^ |
5F |
95 |
_ |
HEX |
DEC |
CHR |
60 |
96 |
` |
61 |
97 |
a |
62 |
98 |
b |
63 |
99 |
c |
64 |
100 |
d |
65 |
101 |
e |
66 |
102 |
f |
67 |
103 |
g |
68 |
104 |
h |
69 |
105 |
i |
6A |
106 |
j |
6B |
107 |
k |
6C |
108 |
l |
6D |
109 |
m |
6E |
110 |
n |
6F |
111 |
o |
70 |
112 |
p |
71 |
113 |
q |
72 |
114 |
r |
73 |
115 |
s |
74 |
116 |
t |
75 |
117 |
u |
76 |
118 |
v |
77 |
119 |
w |
78 |
120 |
x |
79 |
121 |
y |
7A |
122 |
z |
7B |
123 |
{[} |
7C |
124 |
| |
7D |
125 |
} |
7E |
126 |
~ |
7F |
127 |
DEL |
Ο επόμενος πίνακας δείχνει το σύνολο των 128 ειδικών χαρακτήρων ASCII που συχνά ονομάζονται εκτεταμένοι χαρακτήρες ASCII:
HEX |
DEC |
CHR |
80 |
128 |
Ç |
81 |
129 |
ü |
82 |
130 |
é |
83 |
131 |
â |
84 |
132 |
ä |
85 |
133 |
à |
86 |
134 |
å |
87 |
135 |
ç |
88 |
136 |
ê |
89 |
137 |
ë |
8A |
138 |
è |
8B |
139 |
ï |
8C |
140 |
î |
8D |
141 |
ì |
8E |
142 |
Ä |
8F |
143 |
Å |
90 |
144 |
É |
91 |
145 |
æ |
92 |
146 |
Æ |
93 |
147 |
ô |
94 |
148 |
ö |
95 |
149 |
ò |
96 |
150 |
û |
97 |
151 |
ù |
98 |
152 |
ÿ |
99 |
153 |
Ö |
9A |
154 |
Ü |
9B |
155 |
¢ |
9C |
156 |
£ |
9D |
157 |
¥ |
9E |
158 |
₧ |
9F |
159 |
ƒ |
A0 |
160 |
á |
A1 |
161 |
í |
A2 |
162 |
ó |
A3 |
163 |
ú |
A4 |
164 |
ñ |
HEX |
DEC |
CHR |
A5 |
165 |
Ñ |
A6 |
166 |
ª |
A7 |
167 |
º |
A8 |
168 |
¿ |
A9 |
169 |
⌐ |
AA |
170 |
¬ |
AB |
171 |
½ |
AC |
172 |
¼ |
AD |
173 |
¡ |
AE |
174 |
« |
AF |
175 |
» |
B0 |
176 |
░ |
B1 |
177 |
▒ |
B2 |
178 |
▓ |
B3 |
179 |
│ |
B4 |
180 |
┤ |
B5 |
181 |
╡ |
B6 |
182 |
╢ |
B7 |
183 |
╖ |
B8 |
184 |
╕ |
B9 |
185 |
╣ |
BA |
186 |
║ |
BB |
187 |
╗ |
BC |
188 |
╝ |
BD |
189 |
╜ |
BE |
190 |
╛ |
BF |
191 |
┐ |
C0 |
192 |
└ |
C1 |
193 |
┴ |
C2 |
194 |
┬ |
C3 |
195 |
├ |
C4 |
196 |
─ |
C5 |
197 |
┼ |
C6 |
198 |
╞ |
C7 |
199 |
╟ |
C8 |
200 |
╚ |
C9 |
201 |
╔ |
HEX |
DEC |
CHR |
CA |
202 |
╩ |
CB |
203 |
╦ |
CC |
204 |
╠ |
CD |
205 |
═ |
CE |
206 |
╬ |
CF |
207 |
╧ |
D0 |
208 |
╨ |
D1 |
209 |
╤ |
D2 |
210 |
╥ |
D3 |
211 |
╙ |
D4 |
212 |
╘ |
D5 |
213 |
╒ |
D6 |
214 |
╓ |
D7 |
215 |
╫ |
D8 |
216 |
╪ |
D9 |
217 |
┘ |
DA |
218 |
┌ |
DB |
219 |
█ |
DC |
220 |
▄ |
DD |
221 |
▌ |
DE |
222 |
▐ |
DF |
223 |
▀ |
E0 |
224 |
α |
E1 |
225 |
ß |
E2 |
226 |
Γ |
E3 |
227 |
π |
E4 |
228 |
Σ |
E5 |
229 |
σ |
E6 |
230 |
µ |
E7 |
231 |
τ |
E8 |
232 |
Φ |
E9 |
233 |
Θ |
EA |
234 |
Ω |
EB |
235 |
δ |
EC |
236 |
∞ |
ED |
237 |
φ |
EE |
238 |
Ε |
HEX |
DEC |
CHR |
EF |
239 |
∩ |
F0 |
240 |
≡ |
F1 |
241 |
± |
F2 |
242 |
≥ |
F3 |
243 |
≤ |
F4 |
244 |
⌠ |
F5 |
245 |
⌡ |
F6 |
246 |
÷ |
F7 |
247 |
≈ |
F8 |
248 |
° |
F9 |
249 |
∙ |
FA |
250 |
· |
FB |
251 |
√ |
FC |
252 |
ⁿ |
FD |
253 |
² |
FE |
254 |
■ |
FF |
255 |
|
Ορισμένοι σημαντικοί όροι συστήματος αριθμών, που χρησιμοποιούνται συχνά για την αναπαράσταση δεδομένων και αποθήκευσης δεδομένων
Ο παρακάτω πίνακας αντιπροσωπεύει τα διάφορα προθέματα που χρησιμοποιούνται ως κλασματικά προθέματα και ως μεγεθυντικά προθέματα:
Byte:
Η πιο σημαντική χρήση ενός byte είναι η διατήρηση ενός κωδικού χαρακτήρα. Το έχουμε συζητήσει νωρίτερα.
Kilobyte
Τεχνικά ένα kilobyte είναι 1024 byte, αλλά συχνά χρησιμοποιείται χαλαρά ως συνώνυμο για 1000 byte. Στα δεκαδικά συστήματα, το κιλό είναι 1000, αλλά στα δυαδικά συστήματα ένα κιλό είναι 1024 (210).
Το Kilobyte αντιπροσωπεύεται συνήθως με K ή Kb. Για να γίνει διάκριση μεταξύ ενός δεκαδικού K (1000) και ενός δυαδικού K (1024), το πρότυπο IEEE (Institute of Electrical and Electronics Engineers) έχει προτείνει να ακολουθείται η σύμβαση χρήσης ενός μικρού k για ένα δεκαδικό κιλό και ενός κεφαλαίου K για ένα δυαδικό κιλό αλλά αυτή η σύμβαση σε καμία περίπτωση δεν τηρείται αυστηρά.
Megabyte
Το Megabyte χρησιμοποιείται για την περιγραφή της αποθήκευσης δεδομένων 1048576 (220) byte, αλλά όταν χρησιμοποιείται για την περιγραφή ρυθμών μεταφοράς δεδομένων όπως σε MBps, αναφέρεται σε ένα εκατομμύριο byte. Το Megabyte συνήθως συντομεύεται ως M ή MB.
Gigabyte
Το Gigabyte χρησιμοποιείται για να περιγράψει την αποθήκευση 1.073.741.824 (230) byte και ένα gigabyte ισούται με 1.024 megabyte. Το Gigabyte συνήθως συντομεύεται ως G ή GB.
Terabyte
Το Terabyte είναι 1.099.511.627.776 (240) byte που είναι περίπου 1 τρισεκατομμύριο byte. Το Terabyte μερικές φορές περιγράφεται ως 1012 (1.000.000.000.000) byte που είναι ακριβώς ένα τρισεκατομμύριο.
Petabyte
Το Petabyte περιγράφεται ως 1.125.899.906.842.624 (250) byte. Ένα Petabyte ισούται με 1.024 terabyte.
Exabyte
Το Exabyte περιγράφεται ως 1,152,921,504,606,846,976 (260) byte. Ένα Exabyte ισούται με 1.024 Petabyte.
Zettabyte
Το Zettabyte περιγράφεται ως 1.180.591.620.717.411.303.424 (270) byte που είναι περίπου 1021 (1.000.000.000.000.000.000.000) byte. Ένα Zettabyte ισούται με 1.024 Exabyte.
Yottabyte
Το Yottabyte περιγράφεται ως 1.208.925.819.614.629.174.706.176 (280) byte που είναι περίπου 1024 (1.000.000.000.000.000.000.000.000) byte. Ένα Yottabyte ισούται με 1.024 Zettabyte.
Κοινοί όροι αποθήκευσης δεδομένων
Υπάρχουν διάφορα ονόματα που χρησιμοποιούνται για την αναφορά των όρων που δόθηκαν προηγουμένως, σε διάφορες ομαδοποιήσεις bits δεδομένων. Μερικά από τα πιο συχνά χρησιμοποιούμενα, παρατίθενται στον παρακάτω πίνακα:
Term |
Number of Bits |
Bit / Digit / Flag |
1 |
Nibble / Nybble |
4 |
Byte / Character |
8 |
Word |
16 |
Double Word / Long Word |
32 |
Very Long Word |
64 |
Σελίδα Τροποποιήθηκε στις: 06/01/2022