Εξηγείται το σύστημα δεκαεξαδικού αριθμού

Οι δεκαεξαδικοί αριθμοί, συχνά συντομευμένοι σε «δεκαεξαδικούς αριθμούς» ή «δεκαεξαδικοί», είναι αριθμοί που αντιπροσωπεύονται στη βάση 16 σε αντίθεση με τη βάση 10 που χρησιμοποιούμε για καθημερινή αριθμητική και καταμέτρηση.

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

Τα ψηφία σε δεκαεξαδικό χρησιμοποιούν τα τυπικά σύμβολα 0, 1, 2, 3, 4, 5, 6, 7, 8 και 9 για να αντιπροσωπεύουν την αντίστοιχη τιμή και χρησιμοποιούν τα πρώτα έξι γράμματα του αλφαβήτου για να αντιπροσωπεύουν τις τιμές 10 έως 15 ( Π.χ .: A, B, C, D, E, F).

Στον προγραμματισμό, προθέτουμε δεκαεξαδικές σταθερές με 0x, με ορισμένες εξαιρέσεις.

Παραδείγματα και εξηγήσεις

0x1 == 1 0xF == 15 0xFF == 255 0xFFF == 4095 0x1000 == 4096

Στο τυπικό σύστημα βάσης 10, κάθε στήλη αντιπροσωπεύει αυξανόμενες δυνάμεις 10, ενώ στη βάση 16 κάθε στήλη αντιπροσωπεύει αυξανόμενες δυνάμεις 16.

Όπως φαίνεται στο παραπάνω παράδειγμα του πίνακα, με ένα δεκαεξαδικό ψηφίο μπορούμε να αντιπροσωπεύσουμε αριθμούς έως και 15. Προσθέστε μια άλλη στήλη και μπορούμε να αντιπροσωπεύσουμε αριθμούς έως 255, 4095 με μια άλλη στήλη, και ούτω καθεξής.

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

Το δεκαεξαδικό βρήκε για πρώτη φορά τη χρήση του στην Επιστήμη Υπολογιστών ως δυνατότητα ευκολίας.

Τα δεδομένα στους υπολογιστές μας έχουν τη χαμηλότερη κοινή μονάδα αποθήκευσης, το Byte. Κάθε byte περιέχει 8 bits και μπορεί να αποθηκεύσει έναν αριθμό μεταξύ 0 και 255.

Το δεκαεξαδικό έχει το πλεονέκτημα ότι είναι στενό και έχει καλά καθορισμένα όρια.

Ένα μεμονωμένο byte αντιπροσωπεύεται πάντα από δύο δεκαεξαδικά ψηφία από 0x00 έως 0xFF, με το τελευταίο να είναι η μεγαλύτερη τιμή ανά byte των 255.

Η αθόρυβη και ευθυγραμμισμένη byte φύση των δεκαεξαδικών αριθμών τους καθιστά μια δημοφιλή επιλογή για μηχανικούς λογισμικού που εργάζονται σε χαμηλού επιπέδου κωδικές βάσεις ή ενσωματωμένο λογισμικό.

Χρήσεις δεκαεξαδικών αριθμών σε JavaScript

Το JavaScript υποστηρίζει τη χρήση δεκαεξαδικής σημειογραφίας στη θέση οποιουδήποτε ακέραιου, αλλά όχι δεκαδικών.

Για παράδειγμα, ο αριθμός 2514 σε δεκαεξαδικό είναι 0x9D2, αλλά δεν υπάρχει τρόπος που υποστηρίζεται από τη γλώσσα να αντιπροσωπεύει το 25,14 ως εξάγωνο αριθμό.

Η χρήση δεκαεξαδικού στον κώδικά σας είναι προσωπική και στιλιστική επιλογή και δεν επηρεάζει την υποκείμενη λογική που εφαρμόζει ο κώδικάς σας.

Χρήσεις δεκαεξαδικών αριθμών στο CSS

Το CSS χρησιμοποίησε για μεγάλο χρονικό διάστημα δεκαεξαδική σημειογραφία για να αντιπροσωπεύει τις τιμές χρώματος. Εξετάστε τον ακόλουθο επιλογέα:

.my-container { background-color: #112233; color: #FFFFFF; }

Η background-colorτιμή είναι στην πραγματικότητα τρία hex byte.

Ο επεξεργαστής CSS τα αντιμετωπίζει ως τρία μεμονωμένα byte, που αντιπροσωπεύουν το κόκκινο, το πράσινο και το μπλε.

Στο παράδειγμά μας, το 11 αντιστοιχεί στο στοιχείο κόκκινου χρώματος, το 22 αντιστοιχεί στο στοιχείο πράσινου χρώματος και το 33 στο στοιχείο μπλε χρώματος.

Προς το παρόν δεν υπάρχει τρόπος από το CSS3 να ορίσετε ένα χρώμα με ένα στοιχείο άλφα χρησιμοποιώντας hex. Το προτεινόμενο πρόχειρο CSS4 περιλαμβάνει μια πρόταση που επιτρέπει ένα επιπλέον byte για τον καθορισμό των τιμών άλφα.

Προς το παρόν, η χρήση της τυπικής rgba()λειτουργίας είναι ο προτεινόμενος τρόπος για να προσθέσετε μια τιμή άλφα στα χρώματα σας.