Skip to main content
🔬 Advanced

Ηξαδεκαδική Υπολογιστής

Προσθήκη, αφαίρεση και μετατροπή δεκαδεκαδικών αριθμών. Εκτελέστε δεκαδική αριθμητική και μετατρέψτε σε δεκαδική ή δυαδική. Δωρεάν αριθμομηχανή μαθηματικών.

Η κατανόηση του εξαδεκαδικού (βάση-16): Τα θεμέλια

Το εξάδεκατο (hex) είναι ένα τοποθεσιακό αριθμητικό σύστημα με βάση 16. Χρησιμοποιεί δεκαέξι ξεχωριστά σύμβολα: τα ψηφία 0 - 9 αντιπροσωπεύουν τιμές από το μηδέν έως το εννιά, και τα γράμματα Α - F (ή α - f) αντιπροσωπεύουν τιμές από το δέκα έως το δεκαπέντε.

Η τοποθεσιακή τιμή κάθε δεκατριών ψηφίων είναι μια δύναμη 16. Για τον αριθμό δεκατριών ψηφίων 2F4:

756 ÷ 16 = 47 R 4; 47 ÷ 16 = 2 R 15 (F); 2 ÷ 16 = 0 R 2. Διαβάστε τα υπολείμματα προς τα πάνω: 2F416 .0x: 0x2F4= 756.

Πίνακας μετατροπής από εξάδικο σε δεκαδικό

Γρήγορη αναφορά για τη μετατροπή των μονοσήμαντων εξατοχικών ψηφίων και των κοινών εξατοχικών τιμών σε δεκαδικά:

Χέξ .ΔεκαδικήΔυαδικήΚοινή έννοια
0x000Δελτίο ΕΚΜηδενικό byte, false, off
0x0110000 0001Αλήθεια, ενεργοποιημένο
0x0A100000 1010Χαρακτήρας νέας γραμμής (LF)
0x0D130000 1101Επιστροφή μεταφοράς (CR)
0x1F310001 1111Διαχωριστικό μονάδας
0x20320010 0000 ΕπενδύσειςΧαρακτήρας διαστήματος (ASCII)
0x41650100 0001"Α" σε ASCII
0x61970110 0001"α" σε ASCII (μικρό γράμμα)
0x7F1270111 1111Χαρακτήρας DEL, μέγιστο υπογεγραμμένο ζευγάρι nibble
0x801281000 0000 Δελτίο ΕΚΣύνολο bit υπογραφής (αρνητικό σε υπογεγραμμένο byte)
0xFFΑριθ. 2551111 1111Μέγιστο μη υπογεγραμμένο byte, όλα τα bits είναι ρυθμισμένα
0x1002561 0000 0000Ένα παραπάνω από το μέγιστο byte
0xFFFF65.535Δεκαέξι.Μέγιστη τιμή 16 bit χωρίς υπογραφή
0xFFFFFF16.777.21524 μονάδεςΜέγιστο 24-bit (16M χρώματα)

Η σχέση ανάμεσα στο εξάριθμο και το δυαδικό είναι άμεση: κάθε ψηφίο εξάριθμου αντιστοιχεί σε ακριβώς 4 bits. A = 1010, B = 1011, C = 1100, D = 1101, E = 1110, F = 1111.

Εξατογενής Αριθμητική: Προσθήκη, Αφαίρεση, Πολλαπλασιασμός

Η εξαδεκαδική αριθμητική ακολουθεί τους ίδιους κανόνες με την δεκαδική αριθμητική, αλλά μεταφέρει και δανείζεται στο 16 αντί για το 10.

Παράδειγμα πρόσθεσης:3Α + 27. Μονάδες: Α + 7 = 10 + 7 = 17 = 1x16 + 1 -> γράψτε 1, μεταφέρετε 1. Δεκαέξι: 3 + 2 + 1 (μεταφέρετε) = 6.

Παράδειγμα αφαίρεσης:C3 - 5F. Μονάδες: 3 < F (15), έτσι δανείζονται: 3 + 16 - 15 = 4, και μεταφέρουν 1 στην επόμενη στήλη. Sixteens: C (12) - 5 - 1 (δανείζονται) = 6.

Παράδειγμα πολλαπλασιασμού:1Α x 3. Α x 3 = 30 = 1E16 (γράψτε Ε, μεταφέρετε 1). 1 x 3 + 1 = 4. Αποτέλεσμα: 4E16 = 7810. επαλήθευση: 26 x 3 = 78.

Για πολύπλοκους εξατογενείς υπολογισμούς, η μετατροπή σε δεκαδικό, η υπολογιστική και η μετατροπή πίσω είναι συχνά πιο αξιόπιστη, εκτός αν έχετε βαθιά πρακτική.

Χέξ στο σχεδιασμό ιστοσελίδων: Χρωματικοί κωδικοί

Οι χρωματικοί κώδικες HTML και CSS είναι μία από τις πιο ορατές εφαρμογές του εξαδεκαδικού εκτός προγραμματισμού.

Χέξ ΧρώμαΚόκκινοΠράσινοΜπλεΌνομα χρώματος
#FF0000Αριθ. 25500Καθαρό κόκκινο
#00FF000Αριθ. 2550Καθαρό πράσινο (λίμνος)
#0000FF00Αριθ. 255Καθαρό μπλε
#FFFF00Αριθ. 255Αριθ. 2550Κίτρινο
#FF00FFΑριθ. 2550Αριθ. 255Ματζέντα
#00FFFF0Αριθ. 255Αριθ. 255Κινέζικο
#FFFFFFΑριθ. 255Αριθ. 255Αριθ. 255Λευκό
#000000 #000000000Μαύρο
#808080128128128Μεσαίο γκρι
#FF5733Αριθ. 2558751Ζωντανό πορτοκαλί-κόκκινο

Το CSS υποστηρίζει επίσης 4-ψήφια (#RGBA) και 8-ψήφια (#RRGGBBAA) χρώματα εξαγώνων όπου το AA είναι το κανάλι άλφα (00 = διαφανές, FF = αδιαφανές).

Οι σχεδιαστές ιστοσελίδων συχνά προσαρμόζουν τα χρώματα με την τροποποίηση των εξατομικών τιμών. Η προσθήκη στο κόκκινο κανάλι κάνει τα χρώματα πιο ζεστά, η αφαίρεση τα κάνει πιο δροσερά. Τα εξατομικά χρώματα με ίσες τιμές R, G και B παράγουν πάντα αποχρώσεις γκρι. Ένα χρώμα όπως #7F7F7F είναι ακριβώς 50% γκρι (127 από τα 255 σε κάθε κανάλι).

Χέξ στον προγραμματισμό: διευθύνσεις μνήμης και χειραγώγηση bits

Στο προγραμματισμό συστημάτων, το hex είναι η φυσική γλώσσα για διευθύνσεις μνήμης, σημαίες bit και μητρώα υλικού.

διευθύνσεις μνήμης:Σε ένα 32-bit σύστημα, οι διευθύνσεις κυμαίνονται από 0x00000000 έως 0xFFFFFFFF (4 GB). Οι κοινές περιοχές διευθύνσεων: 0x00000000 - 0x00FFFFFF (χαμηλή μνήμη), 0x7FFFFFFF (μέγιστο θετικό υπογεγραμμένο 32-bit int), 0x80000000 (αρχή αρνητικού χώρου στην υπογεγραμμένη ερμηνεία), 0xFFFFFFFF (μέγιστο μη υπογεγραμμένο 32-bit). Σε 64-bit συστήματα, ο χώρος χρήστη καταλαμβάνει συνήθως 0x0000000000000000 - 0x00007FFFFFFFFF.

Μπιτ χειραγώγηση με μάσκες:Οι λειτουργίες bit εκφράζονται φυσικά σε hex επειδή ευθυγραμμίζονται με τα όρια nibble.

ΛειτουργίαΈκφρασηΕπίδραση
Ρυθμισμένο bit 3x. = 0x08Δύναμη κομμάτι 3 προς 1, αφήστε άλλα αμετάβλητα
Καθαρίστε το κομμάτι 3x &= ~0x08Δύναμη bit 3 προς 0, αφήστε άλλα αμετάβλητα
Μπιτ εναλλαγής 3x ^ = 0x08Flip bit 3, αφήστε άλλα αμετάβλητα
Τεστ 3(x & 0x08) ! = 0Δοκιμή εάν το bit 3 είναι ενεργοποιημένο
Εκχυλίστε χαμηλά τσιμπήματαx & 0x0FΠηγαίνετε χαμηλότερα 4 bits
Εκχυλίστε υψηλή nibble(x > 4) & 0x0FΠάρε τα πάνω 4 bits του byte

Διάσημες σταθερές:Οι προγραμματιστές έχουν δημιουργήσει αξέχαστες σταθερές για το debugging και την εκκίνηση: 0xDEADBEEF (χρησιμοποιείται για να σηματοδοτήσει την μη εκκίνηση μνήμης σε παλιά συστήματα IBM), 0xCAFEBABE (μαγικός αριθμός αρχείου κλάσης Java), 0xFEEDFACE (μαγική μορφή δυαδικής μορφής Mach-O), 0x0BADF00D (σεντινέλι debugging μνήμης), 0xDEADC0DE (χρησιμοποιείται στην ανίχνευση συντριβών του iOS).

Υπογραφές μορφότυπου αρχείου και Hex Forensics

Κάθε μορφή αρχείου έχει μια χαρακτηριστική ακολουθία bytes στην αρχή της που ονομάζεται "μαγικός αριθμός" ή υπογραφή αρχείου.

Τύπος αρχείουΥπογραφή Hex (πρώτα bytes)Εκπροσώπηση ASCII
Εικόνα JPEGFF Δ8 FFΕλάτε .
Εικόνα PNG89 50 4E 47 0D 0A 1A 0AΠΝΓ...
Έγγραφο PDF25 50 44 46%PDF
Αρχείο ZIP50 4Β 03 04ΠΚ.
Εικόνα GIF47 49 46 38GIF8
Εκτέλεση ELF (Linux)7F 45 4C 46ΕΛΦ.
Εκτέλεση Windows PE4Δ 5ΑMZ
Ακρόαμα MP3FF FB ή 49 44 33ΙΙ ή ΙΙΙ
Βάση δεδομένων SQLite53 51 4Γ 69 74 65Σκιουλίτης

Οι επαγγελματίες ασφαλείας χρησιμοποιούν hex για να εξετάσουν δυαδικά αρχεία χωρίς να εμπιστεύονται την επέκταση του αρχείου. Ένα αρχείο που ονομάζεται "document.pdf" που αρχίζει με 4D 5A είναι στην πραγματικότητα ένα εκτελέσιμο αρχείο των Windows - ένα κοινό κόλπο κακόβουλου λογισμικού. Η ανάλυση hex των πακέτων δικτύου αποκαλύπτει δομές πρωτοκόλλου, κεφαλίδες κρυπτογράφησης και πιθανές εκμεταλλεύσεις.

Σύγκριση αριθμητικής βάσης: Δεκαδική, Δυαδική, Οκταδική, Εξαδική

Οι υπολογιστές χρησιμοποιούν διαφορετικές αριθμητικές βάσεις για διαφορετικούς σκοπούς.

ΔεκαδικήΔυαδική (βάση 2)Οκτάλ (βάση 8)Χεξαδική (βάση 16)
00000 Ύψος00
8Χιλιάδες108
101010 χιλιόγραμμα12A
151111 και17F
160001 00002010
640100 0000 Επενδύσεις100 χλμ.40
1281000 0000 Δελτίο ΕΚ200 χλμ.80
Αριθ. 2551111 1111377 ηFF
2561 0000 0000400 χλμ.100 χλμ.
1024 η100 0000 0000 ΕπενδύσειςΙανουαρίου400 χλμ.

Το οκτάριο (βάση 8) ήταν κάποτε κοινό στην πληροφορική (εμφανίζεται στα δικαιώματα αρχείων Unix: chmod 755 = 111 101 101 σε δυαδικό = rwxr-xr-x). Το hex αντικατέστησε σε μεγάλο βαθμό το οκτάριο για τους περισσότερους σκοπούς επειδή τα 4 bits ανά ψηφίο (hex) ευθυγραμμίζονται καλύτερα με τις σύγχρονες αρχιτεκτονικές 8-bit, 16-bit, 32-bit και 64-bit από τα 3 bits ανά ψηφίο (οκτάριο).

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

Πώς μπορώ να μετατρέψω τα hex και τα binary γρήγορα;

Κάθε έκτακτο ψηφίο αντιστοιχεί ακριβώς σε 4 δυαδικά bits: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000, 9=1001, A=1010, B=1011, C=1100, D=1101, E=1110, F=1111. Για να μετατρέψετε το 0xB7: B=1011, 7=0111 -> 101101112. Για να μετατρέψετε το 110010102: χωρισμός σε nibbles: 1100=C, 1010=A -> 0xCA.

Γιατί τα χρώματα CSS χρησιμοποιούν εξαδέκατο;

Το CSS χρησιμοποιεί hex επειδή κάθε κανάλι RGB (0-255) ταιριάζει καθαρά σε ακριβώς 2 hex ψηφία (00-FF). Η μορφή #RRGGBB είναι συμπαγής, σαφής και αντιστοιχεί απευθείας στο μοντέλο χρωμάτων 24 bit που χρησιμοποιείται από το υλικό προβολής. Το HTML υιοθέτησε χρώματα hex στις αρχές της δεκαετίας του 1990 από τους ορισμούς χρωμάτων X11, και η σύμβαση παρέμεινε πρότυπη από τότε.

Τι ισούται το 0xFF σε δεκαδική μονάδα;

Το 255 είναι η μέγιστη τιμή ενός μη υπογεγραμμένου byte (uint8), η μέγιστη ένταση για κάθε χρωματικό κανάλι RGB, και εμφανίζεται συνεχώς σε δίκτυο (255.255.255.255 είναι η διεύθυνση μετάδοσης) και υπολογιστές.

Ποια είναι η διαφορά μεταξύ 0x1F και 0xF1;

Αυτά είναι διαφορετικοί αριθμοί με τα ίδια ψηφία σε διαφορετική σειρά. 0x1F = 1x16 + 15 = 31 δεκαδική. 0xF1 = 15x16 + 1 = 241 δεκαδική. Σε δυαδικό σύστημα: 0x1F = 0001 1111; 0xF1 = 1111 0001.

Πόσους εξάκοντα ψηφία χρειάζομαι για να αντιπροσωπεύσω έναν αριθμό 32 bit;

Οι διευθύνσεις μνήμης σε 32-bit συστήματα εμφανίζονται ως οκταψήφιοι αριθμοί. Για αριθμούς 64-bit, χρειάζεστε 16 ψηφία (0x0000000000000000 έως 0xFFFFFFFFFFFF).

Τι σημαίνει το πρόθεμα "0x" στους αριθμούς των εξάγωνων;

Το πρόθεμα "0x" είναι μια σύμβαση σημειογραφίας που χρησιμοποιείται στην C και στις περισσότερες γλώσσες προγραμματισμού για να υποδείξει ότι ο επόμενος αριθμός είναι εξάδεκατος. "0x" σημαίνει "hex" (το "x" υποδηλώνει εξάδεκατο). Άλλες σημειώσεις: ο τελευταίος "h" στο assembly (FFh), ο πρώτος "#" στο CSS και σε ορισμένα πλαίσια (#FF0000), και το πρόθεμα $ σε ορισμένες παλαιότερες γλώσσες ($FF).

Πώς χρησιμοποιείται το hex στις διευθύνσεις IP;

192.168.1.1 = 0xC0 0xA8 0x01 0x01 = 0xC0A80101. Οι διευθύνσεις IPv6 είναι ήδη γραμμένες σε hex: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Αυτό καθιστά τη χειραγώγηση διευθύνσεων IPv6 πολύ ευκολότερη με την αριθμητική hex.

Τι είναι ο εκδότης και πότε πρέπει να τον χρησιμοποιήσω;

Ένας επεξεργαστής hex εμφανίζει και επεξεργάζεται αρχεία ως ακατέργαστα bytes σε εξαδέκατο. Συνήθεις χρήσεις: εξέταση υπογραφών μορφότυπου αρχείου για τον εντοπισμό τύπων αρχείων, επεξεργασία δυαδικών αρχείων αποθήκευσης παιχνιδιών, λογισμικό αντίστροφης μηχανικής, ανάλυση συλλήψεων δικτύου, ανάκτηση δεδομένων από κατεστραμμένα αρχεία και ψηφιακή εγκληματολογία.

Γιατί χρησιμοποιείται η εξαδεκαδική αντί της δεκαδικής στην πληροφορική;

Επειδή οι υπολογιστές λειτουργούν σε δυαδικό (βάση 2), και 16 = 24 - το εξάριθμο ευθυγραμμίζεται τέλεια με το δυαδικό. Ένα δεκαδικά ψηφία = 4 bits, δύο δεκαδικά ψηφία = 1 byte (8 bits), τέσσερα δεκαδικά ψηφία = 16 bits, οκτώ δεκαδικά ψηφία = 32 bits.

Πώς μπορώ να μετατρέψω ένα χρώμα hex σε τιμές RGB;

Χωρίστε το χρώμα των 6 ψηφίων σε τρεις ομάδες των 2 ψηφίων: #RRGGBB. Μετατρέψτε το καθένα από τα έξι ψηφία σε δεκαδικό. Παράδειγμα: #4A90E2 -> R=0x4A=74, G=0x90=144, B=0xE2=226. Έτσι αυτό το χρώμα είναι rgb(74, 144, 226) - ένα μεσαίο μπλε. Αντίστροφα: μετατρέψτε κάθε δεκαδική τιμή σε 2 ψηφία σε έξι ψηφία και συνδεθείτε: rgb(255, 87, 51) -> #FF5733.

Ηξαδεκαδική σε δικτύωση και πρωτόκολλα

Οι διευθύνσεις MAC - τα αναγνωριστικά υλικού για διεπαφές δικτύου - γράφονται ως 6 hex bytes διαχωρισμένα με διπλό ή έμβολο: για παράδειγμα,00:1A:2B:3C:4D:5EΤα τρία πρώτα bytes (00:1A:2B) προσδιορίζουν τον κατασκευαστή (Organizationally Unique Identifier, OUI), ενώ τα τρία τελευταία (3C:4D:5E) προσδιορίζουν τη συγκεκριμένη συσκευή.

Οι διευθύνσεις IPv6 είναι 128 bits εκφραζόμενες ως 8 ομάδες από 4 εξάκοντα ψηφία:2001:0DB8:AC10:FE01:0000:0000:0000:0000Τα μηδενικά που οδηγούν στις ομάδες μπορούν να παραλειφθούν και οι διαδοχικές ομάδες με όλα τα μηδενικά να συμπιεστούν με "::", δίνοντας2001:DB8:AC10:FE01::Η κατανόηση του hex είναι απαραίτητη για την ανάγνωση διευθύνσεων IPv6, μάσκες υποδικτύου και πίνακες δρομολόγησης.

Τα πλαίσια Ethernet, τα πακέτα IP, τα τμήματα TCP - όλα έχουν πεδία εκφρασμένα σε hex σε εργαλεία ανάλυσης δικτύου όπως το Wireshark. Ένα πακέτο TCP SYN δείχνει το πεδίο σημαιών ως 0x002 (μόνο το σύνολο bits SYN), ένα SYN-ACK δείχνει 0x012 (σύνολο bits SYN + ACK). Η ανάγνωση αυτών των hex τιμών απευθείας από τις συλλήψεις πακέτων είναι μια θεμελιώδης ικανότητα αντιμετώπισης προβλημάτων δικτύου.

Κωδικοποίηση χαρακτήρων Unicode και Hex

Το βασικό πολυγλωσσικό επίπεδο εκτείνεται από U+0000 έως U+FFFF. Παραδείγματα:

ΧαρακτήραςΣημείο κωδικού UnicodeΚωδικοποίηση UTF-8 (hex)Περιγραφή
AU+004141Λατινικό κεφαλαίο γράμμα Α
αU+03B1CE Β1Ελληνικό μικρό γράμμα αλφα
U+20ACE2 82 ACΣήμα ευρώ
U+4E2DE4 B8 ADΚινέζικος χαρακτήρας "middle"
😀U+1F600F0 9F 98 80Χαμογελαστό πρόσωπο emoji
©U+00A9C2 Α9Σύμβολο πνευματικών δικαιωμάτων

Το UTF-8 κωδικοποιεί τους χαρακτήρες ASCII (U+0000 έως U+007F) σε 1 byte πανομοιότυπο με την αξία τους ASCII. Οι χαρακτήρες U+0080 έως U+07FF χρησιμοποιούν 2 bytes, U+0800 έως U+FFFF χρησιμοποιούν 3 bytes, και οι χαρακτήρες πέρα από U+FFFF (όπως τα περισσότερα emoji) χρησιμοποιούν 4 bytes. Αυτή η κωδικοποίηση μεταβλητού μήκους, όλα αντιπροσωπεύονται σε hex, είναι ο λόγος για τον οποίο η κατανόηση του hex βοηθά κατά την αντιμετώπιση προβλημάτων κωδικοποίησης κειμένου σε εφαρμογές ιστού.

},{"@type":"Ερώτηση","όνομα":"Γιατί τα χρώματα CSS χρησιμοποιούν εξαδεκαδική?","αποδεκτήΑπόκριση":{"@type":"Απόκριση","κείμενο":"Το CSS χρησιμοποιεί εξαδική επειδή κάθε κανάλι RGB (0-255) ταιριάζει ακριβώς σε 2 ψηφία εξαδικών (00-FF), καθιστώντας την αναπαράσταση συμπαγή και προβλέψιμη. #RRGGBB καλύπτει όλα τα 16,7 εκατομμύρια πιθανά χρώματα καθαρά και αντιστοιχεί απευθείας στο μοντέλο χρωμάτων 24 bit που χρησιμοποιείται στον εξοπλισμό οθόνης. "}},{"@type":"Ερώτηση","όνομα":"Τι είναι 0xFF ίσο με δεκαδική;"",αποδεκτήΑπόκριση":{"@type":"Απόκριση","κείμενο":"0xFF = 15x16 + 15 = 240 + 155. Στο δυαδικό, FF = 11111, το οποίο είναι ένα κορεσμένο από 255 εμφανίζεται συνεχώς στον υπολογισμό ως η μέγιστη αξία ενός μη υπογεγραμμένου από".}]