Heksadesimaalijärjestelmä | 16 symbolista koostuva numerojärjestelmä (pohja 16)
Heksadesimaalilukujärjestelmä, usein lyhennettynä "heksaksi", on 16 symbolista koostuva lukujärjestelmä (16-alkuinen). Standardinumerojärjestelmää kutsutaan desimaalijärjestelmäksi (perusta 10), ja siinä käytetään kymmentä symbolia: 0,1,2,3,4,5,6,7,8,9. Heksadesimaalijärjestelmässä käytetään desimaalilukuja ja kuutta ylimääräistä symbolia. Numerosymboleita, jotka edustaisivat arvoja, jotka ovat suurempia kuin yhdeksän, ei ole, joten käytetään englantilaisista aakkosista poimittuja kirjaimia, erityisesti A, B, C, D, E ja F. Heksadesimaali A = desimaaliluku 10 ja heksadesimaali F = desimaaliluku 15.
Ihmiset käyttävät useimmiten desimaalijärjestelmää (emäs 10), jossa jokaisella numerolla voi olla yksi kymmenestä arvosta nollan ja kymmenen välillä. Tämä johtuu luultavasti siitä, että ihmisillä on käsissään kymmenen sormea. Tietokoneet esittävät numerot yleensä binäärijärjestelmässä (emäs 2). Binaarijärjestelmässä kutakin "binäärilukua" kutsutaan bitiksi, ja sillä voi olla vain yksi kahdesta arvosta: yksi tai nolla. Koska yhden bitin kaksi mahdollista arvoa edustaa yhtä viidesosaa desimaaliluvun kymmenestä mahdollisesta arvosta, kokonaislukujen binääriset esitykset voivat vaatia paljon enemmän (binääri)bittejä kuin desimaaliluvut.
Esimerkiksi kolminumeroinen desimaaliarvo 219 vaatii kahdeksan bittiä esitettäväksi binäärinä (11011011). Ihmiset pitävät pitkien bittijonojen lukemista, muistamista ja kirjoittamista hankalana. Heksadesimaalilukujen avulla neljän bitin ryhmät voidaan esittää kätevämmin yhdellä "heksanumerolla", joten kahdeksanbittinen binääriarvo 11011011 vaatii vain kaksi heksadesimaalilukua "DB".
Tietokoneen muisti on järjestetty tavuiksi kutsuttujen bittijonojen joukkona. Nykyaikaisissa tietokoneissa kukin tavu sisältää yleensä kahdeksan bittiä, jotka voidaan kätevästi esittää kahtena heksadesimaalilukuna. Insinöörit ja tietojenkäsittelytieteilijät kutsuvat kutakin näistä neljän bitin arvoista usein nibbleksi (joskus myös nybble, ks. tietokonejargon).
Jotta vältettäisiin sekaannukset desimaali-, oktaali- tai muiden numerointijärjestelmien kanssa, heksadesimaaliluvut kirjoitetaan joskus numeron perään "h" tai ennen numeroa "0x". Esimerkiksi 63h ja 0x63 tarkoittavat 63 heksadesimaalilukua.
Historia
Toisin kuin nykyaikaisissa tietokoneissa, monissa varhaisissa tietokoneissa oli kuusibittisiä tavuja. Näiden järjestelmien ohjelmoijat käyttivät tyypillisesti vaihtoehtoista bittiryhmittelyä, jota kutsutaan oktaaliksi. Kukin oktaaliluku edustaa tehokkaasti kolmea bittiä, ja kuusibittinen tavu voidaan esittää kahtena oktaalilukuna. Kolme bittiä, joista kukin on päällä tai pois päältä, voi edustaa kahdeksaa numeroa 0-7: 000 = 0; 001 = 1; 010 = 2; 011 = 3; 100 = 4; 101 = 5; 110 = 6 ja 111 = 7.
Heksadesimaaliarvot
Heksadesimaalijärjestelmä on samanlainen kuin oktaalilukujärjestelmä (emäs 8), koska molempia voidaan helposti verrata binäärilukujärjestelmään. Heksadesimaalijärjestelmässä käytetään nelibittistä binäärikoodausta. Tämä tarkoittaa, että jokainen numero heksadesimaaliluvussa on sama kuin neljä numeroa binääriluvussa. Kahdeksasluku käyttää kolmen bitin binäärijärjestelmää.
Desimaalijärjestelmässä ensimmäinen numero on ykkösen paikka, seuraava numero vasemmalla on kympin paikka, seuraava on sadan paikka jne. Heksadesimaalijärjestelmässä jokainen numero voi olla 16 arvoa, ei 10. Tämä tarkoittaa, että numerot ovat ykkösen paikka, kuudentoista paikka ja seuraava on 256:n paikka. Eli 1h = 1 desimaaliluku, 10h = 16 desimaalilukua ja 100h = 256 desimaalilukua.
Esimerkkiarvot heksadesimaaliluvuista muunnettuna binääri-, oktaali- ja desimaaliluvuiksi.
|
Muunnos
Binääriin heksadesimaaliksi
Luvun muuttaminen binääristä heksaksi käyttää ryhmittelymenetelmää. Binääriluku jaetaan neljän numeron ryhmiin oikealta alkaen. Nämä ryhmät muunnetaan sitten heksadesimaaliluvuiksi, kuten edellä olevassa taulukossa on esitetty heksadesimaaliluvuille 0-F. Muuttaminen heksadesimaaliluvusta tehdään päinvastoin. Heksadesimaaliluvut muutetaan binääriluvuiksi ja ryhmittely yleensä poistetaan.
Binäärinen | Ryhmittelyt | Hex | |||
01100101 | 0110 | 0101 | 65 | ||
010010110110 | 0100 | 1011 | 0110 | 4B6 | |
1101011101011010 | 1101 | 0111 | 0101 | 1010 | D75A |
Kun binääriluvun bittien määrä ei ole 4:n kerrannainen, se täydennetään nollilla, jotta se olisi 4:n kerrannainen. Esimerkkejä:
- binääri 110 = 0110, joka on 6 Hex.
- binääri 010010 = 00010010, joka on 12 Hex.
Heksadesimaalinen to desimaalinen
Numeron muuntaminen heksadesimaalista desimaaliseksi voidaan tehdä kahdella yleisellä tavalla.
Ensimmäinen menetelmä on yleisempi, kun se muunnetaan manuaalisesti:
- Käytä kunkin heksadesimaaliluvun desimaaliarvoa. Numerot 0-9 ovat samat, mutta A = 10, B = 11, C = 12, D = 13, E = 14 ja F = 15.
- Pidä alla summa kussakin vaiheessa muunnetuista luvuista.
- Aloita vähiten merkitsevästä heksadesimaaliluvusta. Se on oikeassa päässä oleva numero. Tämä on summan ensimmäinen kohta.
- Ota toiseksi vähiten merkitsevä numero. Se on oikeanpuoleisen numeron vieressä. Kerro numeron desimaaliarvo luvulla 16. Lisää tämä summaan.
- Tee sama kolmanneksi vähiten merkitsevälle numerolle, mutta kerro se 16:lla2 (eli 16 neliössä eli 256:lla). Lisää se summaan.
- Jatka jokaisen numeron kohdalla kertomalla joka paikka toisella 16:n potenssilla (4096, 65536 jne.).
| Sijainti | |||||
6 | 5 | 4 | 3 | 2 | 1 | |
Arvo | 1048576 (16 )5 | 65536 (16 )4 | 4096 (16 )3 | 256 (16 )2 | 16(16 )1 | 1 (16 )0 |
Seuraava menetelmä on yleisempi, kun numeroa muunnetaan ohjelmistossa. Sen ei tarvitse tietää, kuinka monta numeroa luvussa on, ennen kuin se alkaa, eikä se koskaan kerro yli 16:lla, mutta se näyttää paperilla pidemmältä.
- Käytä kunkin heksadesimaaliluvun desimaaliarvoa. Numerot 0-9 ovat samat, mutta A = 10, B = 11, C = 12, D = 13, E = 14 ja F = 15.
- Pidä alla summa kussakin vaiheessa muunnetuista luvuista.
- Aloita merkitsevimmästä numerosta (äärimmäisenä vasemmalla oleva numero). Tämä on summan ensimmäinen kohta.
- Jos on olemassa toinen numero, kerro summa 16:lla ja lisää seuraavan numeron desimaaliarvo.
- Toista edellä mainittu vaihe, kunnes numeroita ei ole enää jäljellä.
Esimerkki: Menetelmä 1: 5Fh ja 3425h desimaalilukuna.
|
|
|
|
Esimerkki: Menetelmä 2: 5Fh ja 3425h desimaalilukuna.
|
|
|
|
Kysymyksiä ja vastauksia
K: Mikä on heksadesimaalilukujärjestelmä?
V: Heksadesimaalilukujärjestelmä on 16 symbolista koostuva 16-alkuinen numerointijärjestelmä.
K: Mitkä kymmenen symbolia käytetään desimaalijärjestelmässä (perusta 10)?
V: Kymmenen desimaalijärjestelmässä (emäksessä 10) käytettyä symbolia ovat 0,1,2,3,4,5,6,7,8 ja 9.
K: Mitä kuutta ylimääräistä symbolia heksadesimaalijärjestelmä käyttää?
V: Heksadesimaalijärjestelmässä käytetään englantilaisista aakkosista poimittuja kirjaimia: A, B, C, D, E ja F.
K: Kuinka monta bittiä yksi tavu sisältää nykyaikaisissa tietokoneissa?
V: Nykyaikaisissa tietokoneissa jokainen tavu sisältää yleensä kahdeksan bittiä.
K: Mitä insinöörit ja tietojenkäsittelytieteilijät kutsuvat nelibittisiksi arvoiksi?
V: Insinöörit ja tietojenkäsittelytieteilijät kutsuvat nelibittisiä arvoja nimellä nibbles (joskus myös nybble).
K: Miten voit välttää sekaannukset muihin numerojärjestelmiin, kun kirjoitat heksadesimaalilukuja?
V: Voit välttää sekaannukset muiden numerointijärjestelmien kanssa, kun kirjoitat heksadesimaalilukuja, lisäämällä "h" numeron perään tai "0x" numeron eteen. Esimerkiksi 63h tai 0x63 tarkoittaa 63 heksadesimaalilukua.