Η σύντομη απάντηση
Το δυαδικό είναι η βάση-2: κάθε ψηφίο (bit) είναι 0 ή 1 και κάθε θέση αντιπροσωπεύει δύναμη δύο. 1010 σε δυαδικό ίσο με 1×8 + 0×4 + 1×2 + 0×1 = 10 σε δεκαδικό. Αυτή η αριθμομηχανή χειρίζεται δυαδική αριθμητική, λογική bitwise (AND, OR, XOR, NOT), μετατοπίσεις bit και στιγμιαία μετατροπή σε δεκαδικό, δεκαεξαδικό και οκταδικό.
Βασικά φαγητά
- Οι τιμές περιορίζονται στο 32-bit υπογεγραμμένο ακέραιο εύρος (-2.147.483.648 έως 2.147.483.647) — οι δυαδικές συμβολοσειρές εκτός αυτού του εύρους απορρίπτονται αντί να περικόπτονται σιωπηλά.
- Bitwise AND/OR/XOR συγκρίνουν αριθμούς bit-bit και δεν είναι ίδιοι με την αριθμητική πρόσθεση ή τον πολλαπλασιασμό — 1010 ΚΑΙ 0110 ισούται με 0010, όχι 16.
- Μια αριστερή μετατόπιση κατά n ισοδυναμεί με πολλαπλασιασμό με 2ⁿ. μια δεξιά μετατόπιση κατά n ισοδυναμεί με διαίρεση ακέραιου αριθμού (ορόφου) με 2ⁿ.
- Κάθε δεκαεξαδικό ψηφίο αντιστοιχίζεται σε ακριβώς 4 δυαδικά bit, γεγονός που καθιστά τη μετατροπή εξάγωνο σε δυαδικό μηχανικό σύστημα μόλις γνωρίσετε τα μοτίβα των 16 τεσσάρων bit.
Πώς λειτουργεί η δυαδική τοποαξία
Ακριβώς όπως η δεκαδική τιμή του τόπου χρησιμοποιεί δυνάμεις του δέκα, η δυαδική τοποαξία χρησιμοποιεί δυνάμεις του δύο. Διαβάζοντας τον αριθμό 8-bit 10110101 από δεξιά προς τα αριστερά:
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
Προσθέστε τις τιμές θέσης όπου υπάρχει 1: 128 + 32 + 16 + 4 + 1 = 181. Άρα το δυαδικό 10110101 ισούται με δεκαδικό 181.
Πράξεις bitwise έναντι αριθμητικών πράξεων
| Λειτουργία | Τι κάνει | Παράδειγμα |
|---|---|---|
| AND (&) | 1 μόνο όπου και τα δύο bit είναι 1 | 1010 & 0110 = 0010 |
| OR (|) | 1 όπου οποιοδήποτε bit είναι 1 | 1010 | 0110 = 1110 |
| XOR (^) | 1 όπου τα bits διαφέρουν | 1010 ^ 0110 = 1100 |
| Αριστερά μετατόπιση (<<) | Μετατόπιση bits αριστερά, συμπλήρωση με 0 (×2ⁿ) | 0011 << 2 = 1100 |
| Δεξιά μετατόπιση (>>) | Bit Shift προς τα δεξιά (÷2ⁿ, στρογγυλεμένο προς τα κάτω) | 1100 >> 2 = 0011 |
Οι πράξεις κατά bit συγκρίνουν ή μετατοπίζουν μεμονωμένα bit — δεν μεταφέρονται μεταξύ των θέσεων όπως συμβαίνει με την πρόσθεση, γι' αυτό το 1010 ΚΑΙ το 0110 προσγειώνεται στο 0010 αντί για οτιδήποτε μοιάζει με άθροισμα.
Συνήθη λάθη που πρέπει να αποφεύγονται
- Αντιμετώπιση δυαδικών ψηφίων ΚΑΙ/Η σαν να ήταν αριθμητική πρόσθεση ή πολλαπλασιασμός — λειτουργούν κομμάτι προς κομμάτι χωρίς μεταφορά.
- Ξεχάστε το υπογεγραμμένο όριο εύρους 32 bit — μια δυαδική συμβολοσειρά με περισσότερες από 31 θα ξεχειλίσει το υποστηριζόμενο εύρος και θα εμφανίσει ένα σφάλμα.
- Αναμένοντας να ΜΗΝ απλώς αναποδογυρίσετε τα εκτυπωμένα ψηφία — στην αναπαράσταση του συμπληρώματος δύο, το ΜΗ θετικός αριθμός παράγει αρνητικό, όχι μια απλή αντιστροφή ψηφίων.
- Υποθέτοντας γύρους δεξιάς μετατόπισης — περικόπτεται (οροφές) προς το αρνητικό άπειρο για αρνητικούς αριθμούς, άρα 7 >> 1 = 3, όχι 3,5 ή 4.
Σχετικές αριθμομηχανές
- Υπολογιστής Hex — εργάζονται απευθείας σε δεκαεξαδικό με τις ίδιες μετατροπές και πράξεις.
- Υπολογιστής εκθέτη — ελέγξτε τις δυνάμεις δύο πίσω από κάθε θέση και μετατόπιση μπιτ.
- Υπολογιστής μεγάλου αριθμού — υπερβείτε το εύρος των 32 bit με αριθμητική αυθαίρετης ακρίβειας.
- Επιστημονική Αριθμομηχανή — χειρίζεται γενικά μαθηματικά πέρα από τις μετατροπές βάσης αριθμών.