[Powered by Google Translate] NATE HARDISON: Στο βίντεο σε δυαδική, θα δείξει πώς να αντιπροσωπεύουν το σύνολο των ακέραιων αριθμών, από μηδέν επάνω, Χρησιμοποιώντας μόνο τα ψηφία μηδέν και ένα. Σε αυτό το βίντεο, θα πάμε να χρησιμοποιούν δυαδική μορφή για να αντιπροσωπεύουν κείμενο, γράμματα και όπως, επίσης. Γιατί θα έχουμε τον κόπο να το κάνετε αυτό; Λοιπόν, κάτω από την κουκούλα, ένας υπολογιστής μόνο πραγματικά καταλαβαίνει μηδενικά και μονάδες, οι δυαδικά ψηφία, δεδομένου ότι αυτά μπορεί να παρασταθεί εύκολα με ηλεκτρομαγνητικά πράγματα. Για παράδειγμα, σκεφτείτε τη μνήμη του υπολογιστή σας, όπως μια μακρά σειρά των λαμπτήρων, σύμφωνα με την οποία κάθε ατομική λάμπα αντιπροσωπεύει ένα μηδέν αν είναι απενεργοποιημένο, και ένα one αν είναι ενεργοποιημένο. Αντί να χρησιμοποιεί μια δέσμη των λαμπτήρων, μερικές σύγχρονες μνήμη αυτή η χρήση πυκνωτών που κρατούν ένα χαμηλό χρεώνουν να αντιπροσωπεύουν ένα μηδέν και ένα υψηλό φορτίο να αντιπροσωπεύει ένα. Υπάρχουν και άλλες τεχνικές, καθώς και. Εν πάση περιπτώσει, για την αποθήκευση στη μνήμη τίποτα, πρέπει να πρώτα να μετατραπεί σε κάτι που μπορεί να είναι πραγματικά εκπροσωπούνται στο φυσικό υλικό. Ας σκεφτούμε πώς θα μπορούσαμε να αντιπροσωπεύουν γράμματα με δυαδική μορφή. Στα αγγλικά, έχουμε 26 γράμματα του αλφαβήτου, Α, Β, Γ, Δ, και ούτω καθεξής, μέχρι διαμέσου Ζ. Μπορούμε να εκχωρήσει σε κάθε μία από τις αυτά ένας αριθμός, δηλαδή μηδέν έως 25, και στη συνέχεια χρησιμοποιώντας δυαδική μορφή, μπορούμε να αντιπροσωπεύει κάθε αριθμό ως ακολουθία από μηδενικά και μονάδες. Αυτό δεν είναι και τόσο άσχημα. Ωστόσο, αυτό δεν πρόκειται να είναι αρκετή. Με αυτό το σύστημα, δεν μπορούμε πράγματι διακρίνει μεταξύ πεζά και κεφαλαία γράμματα. Αν θέλουμε ο υπολογιστής μας να είναι σε θέση να διαφοροποιήσει μεταξύ οι δύο περιπτώσεις, τότε χρειαζόμαστε ένα επιπλέον 26 αριθμούς. Και τι γίνεται με τελείες, κόμματα, και άλλα σημεία στίξης; Στο πληκτρολόγιο μου, έχω 32 από αυτούς, συμπεριλαμβανομένων όλων των ειδικούς χαρακτήρες, όπως το καρέ και το εμπορικό. Αυτό δεν είναι όπως τα αριθμητικά χαρακτήρες, το μηδέν έως εννέα, δεδομένου ότι εξακολουθούν να θέλουν να είναι σε θέση να πληκτρολογήσετε αριθμούς σε δεκαδική σημειογραφία στον υπολογιστή, ακόμα και αν ο υπολογιστής μόνο πραγματικά καταλαβαίνει δυαδική μορφή κάτω από την κουκούλα. Και τέλος, θα πρέπει να αντιπροσωπεύουν ένα κενό διάστημα, ώστε Space Bar ότι μας δουλεύει. Έτσι αναφέρονται για το πώς να αντιπροσωπεύσουν το κείμενο στον υπολογιστή παίρνει λίγο περισσότερο από ό, τι θα μπορούσε να σκεφτεί αρχικά. Επιπλέον, ας υποθέσουμε ότι στη συνέχεια έρχονται με τη δική μας κωδικοποίηση σύστημα να εκπροσωπεί τους χαρακτήρες όπως τους αριθμούς. Ωστόσο, αποφασίζουμε για την κωδικοποίηση χαρακτήρων θα είναι αναπόφευκτα αυθαίρετη, όπως είδαμε νωρίτερα, όταν μιλήσαμε για τη χρήση του αριθμοί μηδέν έως 25 να αντιπροσωπεύουν τα γράμματα Α μέσω Ζ. Γιατί να μην χρησιμοποιούν 10 έως 35, έτσι ώστε να μπορούμε να αποθηκεύσετε μηδέν έως εννέα για τις ψηφίο χαρακτήρες; Δεν υπάρχει πραγματικός λόγος, απλά επέλεξε ό, τι φάνηκε καλύτερο για μας. Πίσω στις αρχές της δεκαετίας του 1960, αυτό ήταν ένα πραγματικό πρόβλημα. Διαφορετικοί κατασκευαστές υπολογιστών χρησιμοποιούσαν διαφορετικά συστήματα κωδικοποίησης, και αυτό κάνει την επικοινωνία μεταξύ διαφορετικών μηχανών ένα πολύ δύσκολο έργο. Το Αμερικανικό Εθνικό Ινστιτούτο Προτύπων, ANSI, σχηματίζεται μια επιτροπή για να αναπτύξουν ένα κοινό σύστημα. Και το 1963, η American Standard Κώδικας για πληροφορίες Interchange, πιο γνωστό ως ASCII, γεννήθηκε. ASCII έχει σχεδιαστεί ως ένα επτά-bit κωδικοποίηση, η οποία σημαίνει ότι κάθε χαρακτήρας αντιπροσωπεύεται από ένα συνδυασμό επτά μηδενικά και μονάδες. Με αυτές τις δύο πιθανές τιμές, μηδέν ή ένα, για κάθε των επτά bit, υπάρχουν δύο προς την έβδομη ή 128 χαρακτήρες που μπορεί να παρασταθεί με το ASCII σχήμα κωδικοποίησης. Έτσι 128 χαρακτήρες ακούγεται σαν μια παρτίδα, έτσι δεν είναι; Λοιπόν, να θυμάστε ότι υπάρχουν 26 σε πεζά γράμματα Αγγλικά, άλλα 26 κεφαλαία γράμματα, 10 ψηφία χαρακτήρες, 32 στίξης και ειδικούς χαρακτήρες, και ένα χαρακτήρα διαστήματος. Αυτό μας βάζει σε 95, έτσι έχουμε άλλα 33 χαρακτήρες που μπορεί να αντιπροσωπεύει. Οπότε τι μένει; Λοιπόν, κατά τις ημέρες της ανάπτυξης του ASCII, τηλέτυπου μηχανήματα, τα οποία είναι γραφομηχανές που χρησιμοποιούνται για να αποστολή μηνυμάτων σε ένα δίκτυο, ήταν ευρέως διαδεδομένη. Και αυτά τα μηχανήματα είχαν επιπλέον χαρακτήρες που χρησιμοποιούνται για την τον έλεγχο τους, για παράδειγμα, για να τους πει πότε για να μετακινήσετε το εκτυπώσετε το κεφάλι κάτω μια γραμμή, η γραμμή τροφοδοσίας ή νέο αριθμό-κλειδί γραμμή, όταν για να μετακινηθείτε στο αριστερό περιθώριο, η μεταφορά μετ 'επιστροφής, ή απλά να επιστρέψει κλειδί, και πότε να πάει πίσω ένα χώρο, ο χαρακτήρων backspace, και ούτω καθεξής. Αυτές οι χαρακτήρες που ονομάζονται χαρακτήρες ελέγχου, και αποτελούν το υπόλοιπο της ASCII σετ. Έτσι, αν κοιτάξουμε ένα ASCII πίνακα, βλέπουμε ότι η πρώτη Οι 32 αριθμοί, μηδέν έως 31, που προορίζονται για τον έλεγχο χαρακτήρες. Αλλά μόλις είπε ότι υπήρχαν 33 χαρακτήρες ελέγχου. Ποια είναι η διαπραγμάτευση; Λοιπόν, ο αριθμός μηδέν και το 127, το πρώτο και το τελευταίο από τα ASCII σύνολο, έχουν ιδιαίτερη μοτίβα λίγο, όλα τα μηδενικά και όλα αυτά, αντίστοιχα. Οι σχεδιαστές του ASCII αποφάσισε, ως εκ τούτου, να διατήρηση αυτών των αριθμών για επιπλέον ειδικούς χαρακτήρες, δηλαδή η μηδενική χαρακτήρας και ο χαρακτήρας DEL. Null και DEL προορίζονταν για επεξεργασία ταινία χαρτί, το οποίο χρησιμοποιείται να είναι ένας συνηθισμένος τρόπος αποθήκευσης δεδομένων. Χαρτί ταινία ήταν κυριολεκτικά μια μεγάλη ταινία χαρτιού, καθώς και σε τακτά χρονικά διαστήματα για την ταινία, που θα γροθιά τρύπες για την αποθήκευση δεδομένων. Ανάλογα με το πλάτος της ταινίας, κάθε στήλη θα ήταν θέση να φιλοξενήσει πέντε, έξι, επτά, ή οκτώ μπιτ. Για να αντιπροσωπεύουν ένα μηδέν λίγο, θα κάνετε τίποτα για την ταινία, θα έπαιρνα απλά αφήστε ένα κενό διάστημα. Για λίγο το ένα, θα ήθελα να ανοίξω μία τρύπα. Ο χαρακτήρας null θα αφήσει μόνο μια κενή στήλη, αναφέροντας όλα τα μηδενικά. Και ο χαρακτήρας DEL θα γροθιά μια στήλη γεμάτο τρύπες μέσω ταινία σας. Ως αποτέλεσμα, μπορείτε να χρησιμοποιήσετε το χαρακτήρα DEL για να διαγράψετε πληροφοριών. Φανταστείτε τη λήψη συμπληρωμένη ψηφοφορία εκλογής και στη συνέχεια διάτρησης όλων των unpunched τρύπες. Θα ακυρώσει την ψηφοφορία, διότι είναι αδύνατο να πει τι οι ψήφοι ήταν αρχικά. Αν και ο χαρακτήρας DEL εξακολουθεί να χρησιμοποιείται είναι η σύγχρονη Διαγραφή κλειδί, η μηδενική χαρακτήρα ήρθε να χρησιμοποιηθεί ως το χαρακτήρα τερματισμού για έγχορδα και C κάποιες άλλες μορφές δεδομένων. Μπορεί να το γνωρίζουν, όπως ο χαρακτήρας backslash μηδέν, δεδομένου ότι είναι το πώς θα την εκπροσωπήσει στο γράψιμο. Έτσι, πίσω στο τραπέζι μας ASCII. Μετά τα πρώτα 32 χαρακτήρες ελέγχου έρθει το 95 εκτυπώσιμους χαρακτήρες. Υπάρχουν ένα-δύο αποφάσεις δροσερό σχεδιασμό αξίζει μιλάμε για εδώ. Πρώτον, οι δεκαδικό ψηφίο χαρακτήρες, το μηδέν έως εννέα, αντιστοιχούν στους αριθμούς 48 έως 57, το οποίο φαίνεται μέτριος μέχρι κοιτάξουμε τους αριθμούς 48 έως 57 γραμμένο σε δυαδική μορφή. Αν το κάνουμε αυτό, τότε βλέπουμε ότι το ψηφίο χαρακτήρα, μηδέν, αντιστοιχεί σε 0110000, μία χάρτες για 0110001, δύο έως 0110010, και ούτω καθεξής. Δείτε το μοτίβο; Κάθε ψηφίο χαρακτήρας αντιστοιχίζεται με τις αντίστοιχες του ισοδύναμο σε δυαδική μορφή, με πρόθεμα 011. Έπειτα επάνω, θα παρατηρήσετε ότι τα κεφαλαία γράμματα ξεκινούν από 65, με κεφαλαίο Α, αλλά τα πεζά γράμματα δεν ξεκινούν μέχρι 97. Έτσι, υπάρχουν 32 κενά στο μεταξύ. Αυτό φαίνεται παράξενο. Είναι μόνο 26 γράμματα του αλφαβήτου. Γιατί να τους χωρίσουν σαν αυτό; Και πάλι, αν κοιτάξουμε τις παραστάσεις δυαδικό, μπορούμε δείτε ένα μοτίβο. Κεφαλαίο A αντιπροσωπεύεται από 1000001, πεζά και είναι ένα αντιπροσωπεύεται από 1100001. Κεφαλαία Β εκπροσωπείται από 1000010, πεζά και b είναι αντιπροσωπεύεται από 1100010. Μπορώ να σας πω τι συμβαίνει εδώ; Το κομμάτι αυτό είναι το δεύτερο από τα αριστερά, σε δύο για το πέμπτα, για 32ths θέση, είναι μηδέν για όλα τα κεφαλαία γράμματα, και 1 για όλα τα πεζά γράμματα. Αυτό σημαίνει μετατροπή από κεφαλαία σε πεζά, και αντίστροφα, είναι θέμα μιας απλής κτύπημα λίγο. Έτσι, αυτό μας φέρνει στο τέλος του πίνακα ASCII. Μπορείτε να σκεφτείτε κάτι που έχουμε ξεχάσει; Λοιπόν, τι γίνεται με την ισπανική enye, ή την Ελληνική ή κυριλλική αλφάβητο; Και τι γίνεται με τους κινεζικούς χαρακτήρες; Υπάρχουν πολλά που είναι ήδη μείνει έξω από ASCII. Ωστόσο, ένα άλλο πρότυπο που ονομάζεται Unicode έχει αναπτυχθεί για να καλύψει όλα αυτά χαρακτήρες και πολλά άλλα. Αλλά αυτό είναι ένα θέμα για μια άλλη φορά. Το όνομά μου είναι Nate Hardison. Αυτό είναι CS50.