Δεκαεξαδικό σύστημα αρίθμησης

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μετάβαση σε: πλοήγηση, αναζήτηση

Το δεκαεξαδικό σύστημα αρίθμησης είναι ένα θεσιακό σύστημα αναπαράστασης αριθμών. Έχει ως βάση του τον αριθμό 16. Αυτό σημαίνει ότι, σε μια σειρά ψηφίων, κάθε ψηφίο έχει αξία 16 φορές μεγαλύτερη από εκείνο που βρίσκεται αμέσως δεξιά του. Δηλαδή, οι θέσεις των ψηφίων στο δεκαεξαδικό σύστημα δηλώνουν μονάδες, 16άδες, 16 \times 16 =256άδες κ.ο.κ., σε αναλογία με το δεκαδικό σύστημα, όπου οι θέσεις δηλώνουν δυνάμεις του δέκα (μονάδες, δεκάδες, εκατοντάδες...)

0hex = 0dec = 0oct 0 0 0 0
1hex = 1dec = 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex = 7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct 1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec = 17oct 1 1 1 1

Για την αναπαράστασή του, το δεκαεξαδικό σύστημα έχει ανάγκη 16 ψηφίων. Για τα πρώτα δέκα, χρησιμοποιούνται τα ψηφία 0 - 9 της αραβικής αναπαράστασης του δεκαδικού συστήματος. Για να αναπαρασταθούν οι αξίες από το 10 έως και το 15, δανειζόμαστε τα πρώτα 6 κεφαλαία γράμματα του λατινικού αλφαβήτου: A, B, C, D, E και F.

Για παράδειγμα, ο δεκαδικός αριθμός (79)10 (79, βάση 10) απεικονίζεται στο δεκαεξαδικό σαν (4F)16 (4F, βάση 16), δηλαδή:

(4F)_{16} = 4 \times 16 + 15 \times 1 = 64 + 15 = 79

Χρήση[Επεξεργασία | επεξεργασία κώδικα]

Η αρχική χρήση του ήταν στους υπολογιστές, μιας και είναι εύκολη η μεταφορά ενός αριθμού από το δυαδικό, δηλαδή την γλώσσα μηχανής. Η μετατροπή ενός δυαδικού αριθμού στο δεκαεξαδικό σύστημα είναι εύκολη υπόθεση αρκεί να σκεφτούμε ότι κάθε δεκαεξαδικός αριθμός αποτελείται από έναν 4ψήφιο δυαδικό πχ το 7 = 0111 και το F = 1111 (βλέπε πίνακα).

Οι εντολές στους αρχικούς υπολογιστές γράφονταν σαν δεκαεξαδικοί αριθμοί και η γλώσσα μηχανής είναι βασισμένη σε αυτούς. Παράδειγμα η εντολή επανέλαβε (loop) είναι 039A.

Ο πίνακας ASCII είναι ένας πίνακας που αποτελείται από δυο 16δικούς αριθμούς που αντιπροσωπεύουν τα Αγγλικά στοιχεία και όχι μόνο.

Παράδειγμα στο μέρος της διεύθυνσης στον φυλλομετρητή σας μπορείτε να δείτε την αντιπροσώπευση των Ελληνικών. Η λέξη Δεκαεξαδικό_σύστημα μεταφράζεται σαν %CE%94%CE%B5%CE%BA%CE%B1%CE%B5%CE%BE%CE%B1%CE%B4%CE%B9%CE%BA%CF%8C_%CF%83%CF%8D%CF%83%CF%84%CE%B7%CE%BC%CE%B1

Η πιο κοινή μετάφραση είναι του κενού (%20) που δεν επιτρέπεται σαν ονομασία (URL).

Το δεκαεξαδικό σύστημα παρουσιάζει ειδικό ενδιαφέρον, γιατί υπάρχει μια 1-1 αντιστοιχία ανάμεσα σε κάθε δεκαεξαδικό ψηφίο και σε κάθε μία από τις ομάδες 4 ψηφίων του δυαδικού συστήματος. Αυτό οφείλεται στο γεγονός ότι το 16 είναι δύναμη του 2, 2^4 = 16. Εύκολα προκύπτει από αυτό ότι υπάρχουν 16 δυνατοί συνδυασμοί 4 ψηφίων, το καθένα από τα οποία μπορεί να είναι είτε "0" είτε "1", δηλ. τα ψηφία του δυαδικού συστήματος. Κάθε ένας από αυτούς τους συνδυασμούς αντιστοιχεί στο δεκαεξαδικό ψηφίο που παριστάνει την αριθμητική αξία του, ως εξής:

Λόγω της αντιστοιχίας αυτής, το δεκαεξαδικό σύστημα, όπως και το οκταδικό, παίζουν σπουδαίο ρόλο στον προγραμματισμό των ηλεκτρονικών υπολογιστών. Η κύρια χρησιμότητά τους είναι να συμπτύσσουν ομάδες από bits (κάθε bit αναπαριστά ένα δυαδικό ψηφίο). Για παράδειγμα, δύο δεκαεξαδικά ψηφία μπορούν να κωδικοποιήσουν μια ψηφιολέξη (byte), δηλ. μια σειρά από 8 bits.