Heksadesimaaliluvut

Binäärilukujen yksi keskeinen haittapuoli on se, että suuren desimaaliluvun binäärijono voi olla melko pitkä.

Työskenneltäessä suurten digitaalisten järjestelmien, kuten tietokoneiden, kanssa on tavallista, että binääriluvut koostuvat 8, 16 ja jopa 32 numerosta, mikä vaikeuttaa sekä lukemista että kirjoittamista tuottamatta virheitä erityisesti silloin, kun työskennellään suurella määrällä 16- tai 32-bittisiä binäärilukuja.

Yksi tavallinen keino tämän ongelman voittamiseksi on järjestää binääriluvut neljän bitin ryhmiin tai sarjoihin (4-bits). Näissä 4 bitin ryhmissä käytetään toisenlaista numerojärjestelmää, jota käytetään yleisesti myös tietokone- ja digitaalisissa järjestelmissä ja jota kutsutaan heksadesimaaliluvuiksi.

Heksadesimaalilukujono

Heksadesimaalilukujono

Heksadesimaalilukujono tai yksinkertaisesti heksadesimaalilukujono käyttää 16:n emäspisteen laskentajärjestelmää, ja se on suosittu valinta pitkien binääriarvojen esittämiseen, koska sen muoto on melko tiivis ja paljon helpompi ymmärtää verrattuna pitkiin ykkösten ja 0:iden muodostamille binäärisarjoille.

Koska heksadesimaalilukujärjestelmä on Base-16-järjestelmä, siinä käytetään siis 16 (kuusitoista) erilaista numeroa, joissa on numeroyhdistelmiä 0:sta 15:een. Toisin sanoen mahdollisia numerosymboleja on 16.

Tämän numeromerkintätavan käyttöön liittyy kuitenkin mahdollinen ongelma, joka johtuu siitä, että desimaaliluvut 10, 11, 12, 13, 14 ja 15 kirjoitetaan tavallisesti käyttämällä kahta vierekkäistä symbolia. Jos esimerkiksi kirjoitamme 10 heksadesimaalilukuna, tarkoitammeko desimaalilukua kymmenen vai binäärilukua kaksi (1 + 0). Tämän hankalan ongelman kiertämiseksi käytetään heksadesimaalilukuja, jotka ilmaisevat arvot kymmenen, yksitoista, . . . . , viisitoista korvataan vastaavasti isoilla kirjaimilla A, B, C, D, E ja F.

Tällöin heksadesimaalilukujärjestelmässä käytämme numeroita 0:sta 9:ään ja isoja kirjaimia A:sta F:ään edustamaan sen binääri- tai desimaalilukua vastaavaa numeroa alkaen oikealla puolella olevasta vähiten merkitsevästä numerosta.

Kuten juuri sanoimme, binäärijonot voivat olla melko pitkiä ja vaikeita lukea, mutta voimme helpottaa elämäämme jakamalla nämä suuret binääriluvut parillisiin ryhmiin, jolloin ne on paljon helpompi kirjoittaa ja ymmärtää. Esimerkiksi seuraava joukko binäärilukuja 1101 0101 1100 11112 on paljon helpompi lukea ja ymmärtää kuin 1101010101110011112, kun ne kaikki on niputettu yhteen.

Desimaalilukujärjestelmän jokapäiväisessä käytössä käytämme kolmen numeron tai 000:n ryhmiä oikealta puolelta, jotta hyvin suuri luku, kuten miljoona tai biljoona, olisi helpompi ymmärtää, ja sama pätee myös digitaalisissa järjestelmissä.

Heksadesimaaliluvut on monimutkaisempi järjestelmä kuin pelkän binäärin tai desimaaliluvun käyttäminen, ja sitä käytetään pääasiassa tietokoneiden ja muistin osoitepaikkojen käsittelyssä. Kun binääriluku jaetaan neljän bitin ryhmiin, kullakin neljän numeron ryhmällä tai joukolla voi nyt olla mahdollinen arvo välillä ”0000” (0) ja ”1111” ( 8+4+2+1 = 15 ), jolloin saadaan yhteensä 16 erilaista numeroyhdistelmää 0-15. Älä unohda, että myös ”0” on kelvollinen numero.

Muistamme ensimmäisestä binäärilukuja käsittelevästä opetusohjelmastamme, että 4-bittistä numeroryhmää kutsutaan ”nibbleksi”, ja koska myös heksadesimaaliluvun tuottamiseen tarvitaan 4 bittiä, heksalukua voidaan pitää myös nibbleinä eli puolikkaana tavuna. Tällöin tarvitaan kaksi heksadesimaalilukua tuottamaan yksi kokonainen tavu, joka vaihtelee 00:sta FF:ään.

Mikäli 16 on desimaalijärjestelmässä 2:n ( tai 24:n ) neljäs potenssi, lukujen 2 ja 16 välillä on suora suhde, joten yhden heksadesimaaliluvun arvo on yhtä suuri kuin neljä binäärilukua, joten nyt q on yhtä suuri kuin ”16”.

Tämän suhteen vuoksi binääriluvun neljä numeroa voidaan esittää yhdellä heksadesimaaliluvulla. Tämä tekee binääri- ja heksadesimaalilukujen välisestä muuntamisesta erittäin helppoa, ja heksadesimaalilukujen avulla voidaan kirjoittaa suuria binäärilukuja paljon vähemmillä numeroilla.

Lukuja 0-9 käytetään edelleen kuten alkuperäisessä desimaalijärjestelmässä, mutta numerot 10-15 esitetään nyt aakkosten isoilla kirjaimilla A:sta F:ään mukaan lukien, ja desimaali-, binääri- ja heksadesimaalilukujen väliset suhteet on esitetty alla.

Heksadesimaaliluvut

Desimaaliluku 4-bit Binary Number Hexadecimal Number
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
1011 B
12 1100 C
13 1101 D
14 1110 E
15 111111 F
16 0001 0000 10 (1+0)
17 0001 0001 11 (1+1)
Jatketaan ylöspäin nelosryhmissä

Käyttämällä alkuperäistä binäärilukua ylhäältä 1101 0101 1100 11112 tämä voidaan nyt muuntaa vastaavaksi heksadesimaaliluvuksi D5CF, joka on paljon helpompi lukea ja ymmärtää kuin pitkä rivi 1:iä ja 0:ita, kuten aiemmin.

Käyttämällä heksadesimaalista merkintätapaa digitaaliset luvut voidaan siis kirjoittaa käyttämällä vähemmän numeroita ja virheiden todennäköisyys on paljon pienempi. Vastaavasti heksadesimaalipohjaisten lukujen muuntaminen takaisin binääriluvuiksi on yksinkertaisesti käänteinen operaatio.

Heksadesimaalilukujärjestelmän pääpiirteet ovat, että siinä on 16 erillistä numeroa 0:sta F:ään, ja kullakin numerolla on painoarvo tai arvo 16 alkaen vähiten merkitsevästä bitistä (LSB). Jotta heksadesimaaliluvut voidaan erottaa denaariluvuista, ennen varsinaista heksadesimaaliluvun arvoa, #D5CF tai $D5CF, käytetään etuliitettä, joka on joko ”#”, (Hash) tai ”$” (dollarimerkki).

Koska heksadesimaalilukusysteemin perusta on 16, joka edustaa myös systeemissä käytettävien yksittäisten symbolien lukumäärää, alaviivaa 16 käytetään yksilöimään heksadesimaalisessa muodossa ilmaistu luku. Esimerkiksi edellinen heksadesimaaliluku ilmaistaan seuraavasti: D5CF16

Laskenta käyttäen heksadesimaalilukuja

Tiedämme siis nyt, miten 4 binäärilukua muunnetaan heksadesimaaliluvuksi. Mutta entä jos meillä olisi enemmän kuin 4 binäärinumeroa, miten voisimme laskea heksadesimaalilukuna viimeistä kirjainta F pidemmälle. Yksinkertainen vastaus on aloittaa alusta uudella 4 bitin joukolla seuraavasti.

0…-…9, A,B,C,D,E,F, 10…-…19, 1A, 1B, 1C, 1D, 1E, 1F, 1E, 1F, 20, 21….etc

Älkää menkö sekaisin, 10 tai 20 EI ole kymmenen tai kaksikymmentä, vaan se on 1 + 0 ja 2 + 0 heksadesimaalissa. Itse asiassa kahtakymmentä ei edes ole olemassa heksadesimaalissa. Kahdella heksadesimaaliluvulla voimme laskea FF:ään asti, joka vastaa desimaalilukua 255. Vastaavasti, jos halutaan laskea korkeammalle kuin FF, lisätään kolmas heksadesimaaliluku vasemmalle, joten ensimmäinen 3-bittinen heksadesimaaliluku olisi 10016, (25610) ja viimeinen olisi FFF16, (409510). Suurin 4-numeroinen heksadesimaaliluku on FFFF16, joka vastaa desimaalilukua 65 535 jne.

Heksadesimaaliluvun esitys

MSB Heksadesimaaliluku LSB
168 167 166 165 164 163 162 161 160
4.3G 2.6G 16M 1M 65k 4k 256 16 1

Tämä ylimääräisten heksadesimaalilukujen lisääminen sekä desimaali- että binäärilukujen muuntamiseksi heksadesimaaliluvuiksi on hyvin yksinkertaista, jos on 4, 8, 12 tai 16 muunnettavaa binäärinumeroa. Mutta voimme myös lisätä nollia merkitsevimmän bitin, MSB:n, vasemmalle puolelle, jos binääribittien määrä ei ole neljän monikerta.

Esimerkiksi 110010110110110012 on neljätoistabittinen binääriluku, joka on liian suuri vain kolmelle heksadesimaaliluvulle, mutta liian pieni neljälle heksadesimaaliluvulle. Vastaus on lisätä nollia vasemmanpuoleisimpaan bittiin, kunnes meillä on täydellinen nelibittinen binääriluku tai sen kerrannaiset.

Lisänollien lisääminen binäärilukuun

Binääriluku 0011 0010 1101 1001
Heksadesimaaliluku 3 2 D 9

Heksadesimaaliluvun tärkein etu on se, että se on hyvin kompakti, ja koska siinä käytetään 16:tta peruslukua, tietyn luvun esittämiseen tarvittavien numeroiden määrä on yleensä pienempi kuin binääri- tai desimaaliluvussa. Lisäksi heksadesimaalilukujen ja binäärilukujen välinen muuntaminen on nopeaa ja helppoa.

Heksadesimaaliluvut Esimerkki nro1

Muunnetaan seuraava binääriluku 1110 10102 sen heksadesimaalilukua vastaavaksi luvuksi.

Binääriluku = 111010102
Ryhmittele bitit neljään aloittaen oikealta puolelta
= 1110 1010
Löydä jokaiselle bittineljänneksen kymmenjärjestelmän vastine. yksittäinen ryhmä
= 14 10 (desimaalilukuna)
Muunna muotoon Heksadesimaaliksi yllä olevan taulukon avulla
= E A (desimaalina)
Sitten, binääriluvun

1110 10102 heksadesimaalinen vastine on #EA16

Heksadesimaaliluvut Esimerkki No2

Muunnetaan seuraava heksadesimaaliluku #3FA716 sen binääriseksi vastineeksi sekä myös sen desimaali- tai denaari- eli desimaali-ekvivalentiksi käyttäen alaviitteitä kunkin numerojärjestelmän tunnistamiseksi.

#3FA716

= 0011 1111 1010 01112

= (8192 + 4096 + 2048 + 1024 + 512 + 256 + 128 + 32 + 4 + 2 + 1)

= 1629510

Tällöin desimaaliluku 16295 voidaan esittää seuraavasti:-

#3FA716 heksadesimaalina

tai

0011 1111 1010 01112 binäärinä.

Heksadesimaalilukujen yhteenveto

Sitten yhteenvetona. Heksadesimaali- eli heksadesimaalilukujärjestelmää käytetään yleisesti tietokoneissa ja digitaalisissa järjestelmissä suurten binäärilukusarjojen pelkistämiseen neljän numeron sarjoiksi, jotka meidän on helppo ymmärtää. Sana ”heksadesimaaliluku” tarkoittaa kuusitoista, koska tämäntyyppisessä digitaalisessa numerojärjestelmässä käytetään 16 erilaista numeroa 0:sta 9:ään ja A:sta F:ään.

Heksadesimaaliluvut ryhmittelevät binääriluvut neljän numeron sarjoiksi. Jotta binäärisarja voidaan muuntaa vastaavaksi heksadesimaaliluvuksi, meidän on ensin ryhmiteltävä binäärinumerot neljän bitin joukkoihin. Näillä binäärijoukoilla voi olla mikä tahansa arvo välillä 010 ( 00002 ) – 1510 ( 11112 ), joka edustaa heksadesimaalista vastinetta 0:sta F:ään.

Seuraavassa binäärilogiikkaa käsittelevässä opetusohjelmassa tarkastelemme kokonaisten binäärilukujonojen muuntamista toiseen digitaaliseen numerojärjestelmään, jota kutsutaan oktaaliluvuiksi (Octal Numbers), ja päinvastoin.

Vastaa

Sähköpostiosoitettasi ei julkaista.