Η σύντομη απάντηση
Το δεκαεξαδικό (βάση 16) χρησιμοποιεί ψηφία 0-9 και γράμματα A-F, όπου κάθε θέση αντιπροσωπεύει ισχύ 16. Το FF στο δεκαδικό ισούται με 15×16 + 15 = 255 στο δεκαδικό — η μεγαλύτερη τιμή που μπορεί να κρατήσει ένα μεμονωμένο byte. Οι προγραμματιστές χρησιμοποιούν δεκαεξαδικό επειδή αντιστοιχίζεται καθαρά σε δυαδικό: ένα δεκαεξαδικό ψηφίο ισούται πάντα με ακριβώς 4 bit, επομένως δύο δεκαεξαδικά ψηφία αντιπροσωπεύουν ένα πλήρες byte.
Βασικά φαγητά
- Δύο δεκαεξαδικά ψηφία ισούνται με ένα byte (8 bit) — μια τιμή από 00 έως FF (0 έως 255) — γι' αυτό οι διευθύνσεις μνήμης, οι τιμές byte και οι χρωματικοί κώδικες εμφανίζονται σχεδόν πάντα σε δεκαεξαδικό.
- Η μετατροπή του δεκαεξαδικού σε δυαδικό είναι μηχανική: αντικαταστήστε κάθε εξάγωνο ψηφίο με το δυαδικό ισοδύναμο 4-bit και ενώστε τα μεταξύ τους.
- Η δεκαεξαδική αριθμητική ακολουθεί την ίδια λογική μεταφοράς και δανεισμού με τη δεκαδική αριθμητική, απλώς με βάση το 16 αντί για το 10.
- Τα χρώματα ιστού (#RRGGBB) συσκευάζουν τρεις τιμές byte — κόκκινο, πράσινο, μπλε — σε έξι δεκαεξαδικά ψηφία, δύο ανά κανάλι χρώματος.
Δεκαεξαψήφιες τιμές (0-F)
| Γοητεύω | Δεκαδικός | Γοητεύω | Δεκαδικός |
|---|---|---|---|
| A | 10 | D | 13 |
| B | 11 | E | 14 |
| C | 12 | F | 15 |
Μετατροπή δεκαδικού σε εξάγωνο
202 ÷ 16 = 12 υπόλοιπο 10 → Α
12 ÷ 16 = 0 υπόλοιπο 12 → C
Διαβάστε τα υπόλοιπα από κάτω προς τα πάνω: CA
Άρα το δεκαδικό 202 ισούται με εξάγωνο CA. Έλεγχος αντίστροφα: C×16 + A = 12×16 + 10 = 192 + 10 = 202 — επιβεβαίωση της μετατροπής.
Παράδειγμα εργασίας: εξάγωνη προσθήκη
3A+1F
A (10) + F (15) = 25 = 1×16 + 9 → γράψτε 9, φέρετε 1
3 + 1 + μεταφορά 1 = 5
Αποτέλεσμα: 59
Έλεγχος σε δεκαδικό: 3A = 58, 1F = 31 και 58 + 31 = 89, που είναι 5×16 + 9 = 0x59 — ταιριάζει ακριβώς με την εξαγωνική αριθμητική. Η μόνη πραγματική διαφορά από την δεκαδική πρόσθεση είναι ότι η μεταφορά συμβαίνει όταν μια στήλη φτάσει το 16, όχι το 10.
Συνήθη λάθη που πρέπει να αποφεύγονται
- Μεταφορά στο 10 από συνήθεια αντί για 16 — μια δεκαεξαδική στήλη μεταφέρεται όταν η τιμή της φτάσει το 16, όχι το 10 όπως το δεκαδικό.
- Υποθέτοντας ότι ένα μόνο εξαγωνικό ψηφίο είναι ένα bit — αντιπροσωπεύει πάντα 4 bit, αφού 16 = 24.
- Η απόρριψη ενός αρχικού μηδενός σε ένα byte σταθερού πλάτους ή ένα έγχρωμο κανάλι — 0x0A και 0xA έχουν την ίδια τιμή, αλλά μια οθόνη διψήφιων byte αναμένει 0A, όχι A.
- Ασυνεπής ανάμειξη πεζών-κεφαλαίων ψηφίων — το εξάγωνο δεν έχει διάκριση πεζών-κεφαλαίων (a = A = 10), αλλά η προσκόλληση σε μία περίπτωση αποφεύγει την οπτική σύγχυση σε μεγαλύτερες τιμές.
Σχετικές αριθμομηχανές
- Δυαδική Αριθμομηχανή — εργάζονται απευθείας στη βάση-2 παράλληλα με τις εξαγωνικές μετατροπές.
- Υπολογιστής μεγάλου αριθμού — χειρίζεται τιμές που ξεπερνούν τα τυπικά εξαγωνικά αριθμητικά εύρη.
- Υπολογιστής εκθέτη — ελέγξτε τις δυνάμεις του 16 πίσω από την αξία θέσης κάθε εξαγωνικού ψηφίου.
- Βασική αριθμομηχανή — χειρίζεται την καθημερινή δεκαδική αριθμητική εκτός οποιασδήποτε συγκεκριμένης βάσης.