Δυαδικό, δεκαδικό και δεκαεξαδικό: πώς περνάμε από το ένα στο άλλο

Η μετατροπή ανάμεσα σε βάσεις μοιάζει με μαγεία, μέχρι να δείτε ότι είναι πάντα η ίδια ιδέα: κάθε ψηφίο αξίζει ανάλογα με τη θέση που κατέχει. Εδώ μαθαίνετε να περνάτε με το χέρι από δυαδικό σε δεκαδικό και από δεκαδικό σε δυαδικό, να διαβάζετε το δεκαεξαδικό χωρίς φόβο και να μετατρέπετε κείμενο σε bit, με λυμένους υπολογισμούς και έναν πίνακα από το 0 έως το 15 για να τον έχετε πρόχειρο.

Ενημερώθηκε:

Τι είναι ένα θεσιακό σύστημα

Στον δεκαδικό αριθμό 4.095 το 4 δεν αξίζει 4: αξίζει 4.000, επειδή βρίσκεται στη θέση των χιλιάδων. Κάθε θέση πολλαπλασιάζει το ψηφίο με μια δύναμη του 10 (1, 10, 100, 1.000…). Αυτό είναι το θεσιακό σύστημα, και η βάση είναι το πλήθος των διαφορετικών ψηφίων που χρησιμοποιούνται: δέκα στο δεκαδικό.

Το δυαδικό λειτουργεί με τον ίδιο τρόπο, αλλά με βάση 2: υπάρχουν μόνο το 0 και το 1, και κάθε θέση αξίζει το διπλάσιο της προηγούμενης. Το δεκαεξαδικό χρησιμοποιεί βάση 16: τα δεκαέξι ψηφία είναι τα 0 έως 9 και τα γράμματα A έως F, και κάθε θέση αξίζει 16 φορές την προηγούμενη. Οι υπολογιστές δουλεύουν σε δυαδικό επειδή ένα κύκλωμα χρειάζεται να ξεχωρίζει μόνο δύο καταστάσεις (σβηστό και αναμμένο), και το δεκαεξαδικό είναι ένας σύντομος τρόπος να γράφονται αυτά τα bit.

Η αξία κάθε θέσης. Αν μάθετε απέξω τις δυνάμεις του 2 μέχρι το 128, γλιτώνετε σχεδόν όλους τους υπολογισμούς.
Θέση (από δεξιά προς τα αριστερά)Τιμή σε δυαδικόΤιμή σε δεκαεξαδικό
1η11
2η216
3η4256
4η84.096
5η1665.536
6η321.048.576
7η6416.777.216
8η128268.435.456

Από δυαδικό σε δεκαδικό, με το χέρι

Γράφετε κάθε ψηφίο με την τιμή της θέσης του και προσθέτετε μόνο τις θέσεις όπου υπάρχει 1. Παράδειγμα με το 1101: από δεξιά προς τα αριστερά οι θέσεις αξίζουν 1, 2, 4 και 8.

  1. Γράψτε τον αριθμό και από κάτω την τιμή κάθε θέσης: 1 1 0 1 πάνω από 8 4 2 1.
  2. Δείτε τι υπάρχει σε κάθε θέση: ένα 1 στη θέση του 8, ένα 1 στη θέση του 4, ένα 0 στη θέση του 2 και ένα 1 στη θέση του 1.
  3. Αγνοήστε τις θέσεις που έχουν 0 (εδώ, τη θέση του 2).
  4. Προσθέστε: 8 + 4 + 0 + 1 = 13. Άρα το 1101 στο δυαδικό είναι 13 στο δεκαδικό.

Με περισσότερα ψηφία είναι το ίδιο: το 11111111 είναι 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, η μεγαλύτερη τιμή που χωράει σε 8 bit. Και το 10110110 είναι 128 + 32 + 16 + 4 + 2 = 182.

Από δεκαδικό σε δυαδικό, με διαδοχικές διαιρέσεις

Διαιρείτε τον αριθμό με το 2 ξανά και ξανά, σημειώνοντας το υπόλοιπο κάθε διαίρεσης (πάντα 0 ή 1), μέχρι να φτάσετε σε πηλίκο 0. Τα υπόλοιπα, διαβασμένα από κάτω προς τα πάνω, είναι ο δυαδικός αριθμός. Παράδειγμα με το 45:

Διαβάζοντας τα υπόλοιπα από κάτω προς τα πάνω βγαίνει 101101. Για έλεγχο, προσθέστε: 32 + 8 + 4 + 1 = 45.

Υπάρχει και μια εναλλακτική μέθοδος που πολλοί προτιμούν: να αφαιρείτε δυνάμεις του 2 από τη μεγαλύτερη προς τη μικρότερη. Για το 200: χωράει το 128 (μένουν 72), χωράει το 64 (μένουν 8), δεν χωράνε το 32 και το 16, αλλά χωράει το 8 (μένουν 0). Οι θέσεις που χρησιμοποιήθηκαν είναι 128, 64 και 8, άρα 200 = 11001000.

Δεκαεξαδικό: δεκαέξι ψηφία και ένας πίνακας πρόχειρος

Επειδή δεν υπάρχουν ψηφία για το 10 έως το 15, χρησιμοποιούνται τα γράμματα A, B, C, D, E και F. Ένα δεκαεξαδικό ψηφίο ισοδυναμεί ακριβώς με τέσσερα bit (ένα «nibble»), και γι' αυτό είναι τόσο βολικό: ένα byte, των 8 bit, γράφεται με μόλις δύο δεκαεξαδικά ψηφία.

Για να περάσετε από δεκαεξαδικό σε δεκαδικό, πολλαπλασιάστε κάθε ψηφίο με τη δύναμη του 16 της θέσης του και προσθέστε. Για παράδειγμα, 3F = 3 × 16 + 15 = 63 και A3 = 10 × 16 + 3 = 163.

Από το 0 έως το 15 στις τέσσερις βάσεις που δείχνει το εργαλείο.
ΔεκαδικόΔυαδικό (4 bit)ΟκταδικόΔεκαεξαδικό
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

Γιατί χρησιμοποιείται το δεκαεξαδικό: byte, χρώματα και διευθύνσεις

Ένα byte είναι 8 bit και κυμαίνεται από 0 έως 255 (00000000 έως 11111111). Το να γράφετε bit με το χέρι είναι αργό και επιρρεπές σε λάθη· σε δεκαεξαδικό το ίδιο byte είναι δύο χαρακτήρες, από 00 έως FF. Για να περάσετε από δυαδικό σε δεκαεξαδικό, χωρίστε τα bit σε ομάδες των τεσσάρων ξεκινώντας από δεξιά και αντικαταστήστε κάθε ομάδα με το ψηφίο της από τον πίνακα. Παράδειγμα: το 11010111 χωρίζεται σε 1101 και 0111, που είναι D και 7, άρα αξίζει D7. Σε δεκαδικό είναι 13 × 16 + 7 = 215.

Η πιο γνωστή περίπτωση είναι τα χρώματα του ιστού. Στο #FF8800 υπάρχουν τρία byte: FF για το κόκκινο (255), 88 για το πράσινο (136) και 00 για το μπλε (0). Είναι ένα έντονο πορτοκαλί: όλο το κόκκινο, λίγο περισσότερο από το μισό του πράσινου και καθόλου μπλε. Το δεκαεξαδικό εμφανίζεται επίσης σε διευθύνσεις μνήμης, σε κωδικούς σφάλματος και σε αναγνωριστικά δικτύου.

Από κείμενο σε δυαδικό με ASCII

Ένας υπολογιστής αποθηκεύει κάθε γράμμα ως αριθμό, και αυτόν τον αριθμό ως bit. Στον πίνακα ASCII το A είναι 65, που στο δυαδικό των 8 bit είναι 01000001. Η λέξη «Hi» είναι δύο γράμματα: το H είναι 72 (01001000) και το i είναι 105 (01101001), άρα γράφεται 01001000 01101001. Με το «Hola» είναι 72, 111, 108 και 97, δηλαδή 01001000 01101111 01101100 01100001, ή σε δεκαεξαδικό 48 6F 6C 61.

Το εργαλείο χρησιμοποιεί την κωδικοποίηση UTF-8: για τα βασικά αγγλικά γράμματα κάθε χαρακτήρας καταλαμβάνει ένα byte των 8 bit, αλλά ένα ñ, ένα γράμμα με τόνο ή ένα emoji καταλαμβάνουν περισσότερα byte, οπότε δίνουν πάνω από 8 bit. Για παράδειγμα, το ñ είναι δύο byte: 11000011 10110001 (C3 B1 σε δεκαεξαδικό).

Πώς να τα κάνετε όλα αυτά με το εργαλείο

Ο μετατροπέας «Δυαδικό, δεκαδικό και hex» χρησιμεύει για να ελέγχετε τους υπολογισμούς σας ή να λύνετε μεγάλους αριθμούς χωρίς λάθη.

  1. Γράψτε τον αριθμό στο πεδίο της βάσης του: «Δεκαδικό (βάση 10)», «Δυαδικό (βάση 2)», οκταδικό ή «Δεκαεξαδικό (βάση 16)». Τα άλλα τρία συμπληρώνονται μόνα τους.
  2. Αν το ψηφίο δεν αντιστοιχεί στη βάση (ένα 2 σε δυαδικό, για παράδειγμα), το εργαλείο σας ειδοποιεί.
  3. Για κείμενο, γράψτε το στο πεδίο «Κείμενο» και δείτε το «Δυαδικό (8 bit ανά χαρακτήρα)» και το δεκαεξαδικό ανά byte. Μπορείτε επίσης να επικολλήσετε bit σε ομάδες των 8 για να γυρίσετε στο κείμενο.
  4. Για ασυνήθιστες βάσεις, χρησιμοποιήστε το «Οποιαδήποτε βάση (από 2 έως 36)»: επιλέγετε τη βάση προέλευσης, τη βάση προορισμού και τον αριθμό.

Τα όρια: μετατρέπει μόνο μη αρνητικούς ακέραιους (χωρίς δεκαδικά ή πρόσημο) και δεν βάζει μηδενικά αριστερά για λογαριασμό σας, οπότε αν θέλετε σταθερά 8 bit πρέπει να συμπληρώσετε με το χέρι (το 13 είναι 00001101). Τίποτα από όσα γράφετε δεν φεύγει από το πρόγραμμα περιήγησής σας.

Συχνά λάθη

Λυμένες ασκήσεις για εξάσκηση

Προσπαθήστε να λύσετε κάθε μία πριν δείτε την απάντηση και ελέγξτε μετά με το εργαλείο.

Συχνές ερωτήσεις

Πώς περνάω το 1101 από δυαδικό σε δεκαδικό;

Προσθέτετε τις τιμές των θέσεων όπου υπάρχει 1: 8 + 4 + 1 = 13. Το δεύτερο ψηφίο από δεξιά είναι 0, άρα το 2 δεν προστίθεται.

Πόσο είναι το 255 σε δυαδικό και σε δεκαεξαδικό;

Το 255 είναι 11111111 σε δυαδικό και FF σε δεκαεξαδικό. Είναι η μεγαλύτερη τιμή που χωράει σε ένα byte των 8 bit.

Γιατί το δεκαεξαδικό χρησιμοποιεί γράμματα;

Επειδή χρειάζεται δεκαέξι διαφορετικά σύμβολα και το δεκαδικό σύστημα προσφέρει μόνο δέκα (0 έως 9). Γι' αυτό το A αξίζει 10, το B 11, το C 12, το D 13, το E 14 και το F 15.

Πόσοι διαφορετικοί αριθμοί μπορούν να γραφτούν με 8 bit;

256, από το 0 έως το 255. Γενικά, με n bit μπορούν να παρασταθούν 2 στη δύναμη n τιμές.

Μετατρέπει το εργαλείο αρνητικούς αριθμούς ή αριθμούς με δεκαδικά;

Όχι, μόνο μη αρνητικούς ακέραιους. Για κείμενο χρησιμοποιεί UTF-8, άρα τα γράμματα με τόνο και τα emoji δίνουν πάνω από 8 bit.