Πίνακας περιεχομένων:
Βίντεο: Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 20 - ΑΡΧΕΙΑ - Θεωρία 1 από 8 - Γενικά, Αρχεία Κειμένου 2024
Ευτυχώς, δεν χρειάζεται να προγραμματίσετε οποιαδήποτε ψηφιακή συσκευή γράφοντας κώδικα χαμηλού επιπέδου, εναλλασσόμενους διακόπτες ή σύρματα συγκόλλησης. Αυτό συμβαίνει επειδή ο σημερινός προγραμματισμός C συμβαίνει σε υψηλότερο επίπεδο. Αλλά ακόμα, βαθιά μέσα στο μηχάνημα, αυτός ο τύπος κωδικοποίησης χαμηλού επιπέδου συνεχίζεται. Είστε απλά μονωμένοι από την πρωταρχική σούπα αυτών και τα μηδενικά από τα οποία αυξάνεται όλο το λογισμικό.
Εισαγωγή στο δυαδικό
Τα δυαδικά ψηφία ή τα bits είναι 1 και 0. Μόνο είναι αδύναμα. αλλά σε ομάδες, συγκεντρώνουν μεγάλη δύναμη. Η ψηφιακή αποθήκευση χρησιμοποιεί αυτά τα bits σε ομάδες.
Binary1
1 | 2 | 10 |
---|---|---|
2 2 | 4 | 100 |
2 3 | 8 | 1000 |
2 4 | 16 | 10000 |
2 5 | 32 | 100000 |
2 > 7 | 128 | 10000000 |
|
Στην πραγματικότητα, θα βρείτε 256 πιθανές τιμές για ένα byte, το οποίο περιλαμβάνει την μηδενική μετάθεση. Αυτή είναι και η αξία. | Παρακάτω παρουσιάζεται ο τρόπος με τον οποίο οι εξουσίες των 2 χαρτών σε δυαδική αποθήκευση. Ακριβώς όπως οι δεκαδικές θέσεις σε έναν αριθμό βάσης 10 αυξάνονται με δυνάμεις 10, τα δυαδικά ψηφία σε δυαδικό αριθμό αυξάνουν κατά 2 δυνάμεις, διαβάζοντας από δεξιά προς τα αριστερά. |
Κάθε bit που έχει οριστεί ή έχει την τιμή 1 αντιπροσωπεύει μια ισχύ δύο: 2 5 | , 2 | 3 |
, 2 1 | 0 | . Όταν πολλαπλασιάζετε αυτές τις τιμές με τους δεκαδικούς τους αριθμούς και στη συνέχεια τους συνοψίζετε, παίρνετε την δεκαδική αναπαράσταση του δυαδικού 00101011, το οποίο είναι 43. |
Μην ανησυχείς για τη μετάφραση δυαδικών σε δεκαδικές τιμές. ο υπολογιστής κάνει αυτή τη δουλειά για σας όλη την ώρα. Πράγματι, ο υπολογιστής βλέπει μόνο δυαδικό και στη συνέχεια εμφανίζει δεκαδικούς αριθμούς ως ευγένεια για τα ανθρώπινα μάτια σας.Αλλά όταν χειρίζεστε τις δυαδικές αξίες, βοηθά να γνωρίζουμε τι συμβαίνει.
Η αλλαγή της τιμής ενός bit σε 1 αναφέρεται ως
που θέτει το bit.
Η αλλαγή της τιμής ενός bit σε 0 αναφέρεται ως επαναφορά ενός bit. Τρόπος εμφάνισης δυαδικών τιμών Για καλύτερη κατανόηση των δυαδικών χειριστών χειρισμού της γλώσσας C, βοηθάει να δούμε έναν δυαδικό αριθμό σε δράση. Η συνάρτηση printf () δεν διαθέτει χαρακτήρα δυαδικής μετατροπής και η βιβλιοθήκη C δεν φιλοξενεί μια λειτουργία δυαδικής εξόδου. Όχι, για να δείτε ένα δυαδικό αριθμό, πρέπει να δημιουργήσετε τη δική σας λειτουργία. Η συνάρτηση binbin () παρουσιάζει μια δυαδική λειτουργία εξόδου που ονομάζεται binbin (). Η συνάρτηση binbin (), στη Γραμμή 15 στη συνάρτηση binbin () , καταπίνει μια τιμή int. Η έξοδος είναι μια συμβολοσειρά που αντιπροσωπεύει αυτήν την τιμή int σε δυαδικά ψηφία.
Η
-
BINBIN ()
-
FUNCTION #include char * binbin (int n); int main () {είσοδος int; printf ("Πληκτρολογήστε μια τιμή 0 έως 255:"); scanf ("% d", και είσοδος); printf ("% d είναι δυαδικό% sn", είσοδος, binbin (είσοδος)); επιστρέφει (0),} char * binbin (int n) {static char bin [9]. int x; για το (x = 0, χ <8, x ++) {bin [x] = n & 0x80? '1': '0'. n <= 1}} bin [x] = "; επιστροφή (bin);}
-
Γενικά, το περιεχόμενο της συνάρτησης binbin () Πληκτρολογήστε τον πηγαίο κώδικα από τη συνάρτηση
binbin ()
σε ένα νέο έργο.Κατασκευάστε και εκτελέστε μερικές φορές για να δείτε πώς οι ακέραιοι εμφανίζονται ως δυαδικοί αριθμοί
Όπως γράφτηκε στο Άσκηση 2: Τροποποιήστε τη συνάρτηση binbin () από το <
Λειτουργία, ο binbin () εμφανίζει μόνο 8 bits δεδομένων, binbin () Λειτουργία έτσι ώστε να εμφανίζει 16 bits της τιμής int. (Καλά, τεχνικά, 16 bits είναι ένα σύντομο int.) Για να γίνει αυτό, πρέπει να αλλάξετε αυτά τα στοιχεία: Αλλάξτε το κείμενο έτσι ώστε να ορίζεται 65535 αντί για το 255.
Γραμμή 17: Τροποποιήστε το μέγεθος του πίνακα σε 17 για να αντιστοιχίσετε 16 χαρακτήρες στην έξοδο συν το χαρακτήρα null στο τέλος της συμβολοσειράς
Γραμμή 20: Ρυθμίστε την άμεση τιμή 8 στον κωδικό σε 16 για να υπολογίσετε όλους τους 16 χαρακτήρες στο την έξοδο.
Γραμμή 22: Αντικαταστήστε την τιμή 0x80 με το 0x8000. Αυτή η αλλαγή καθιστά το πεδίο bit μεγαλύτερο. Build Exercise 2. Εκτελέστε το μερικές φορές για να δείτε τι φαίνεται το πεδίο bit για μεγαλύτερες τιμές.