Heksadesimaalijärjestelmä

Heksa- desimaali Desimaali Oktaali Binääri 0 0 0 0 1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 8 10 1000 9 9 11 1001 A 10 12 1010 B 11 13 1011 C 12 14 1100 D 13 15 1101 E 14 16 1110 F 15 17 1111 Heksadesimaalijärjestelmä on kantalukujärjestelmä, jonka kantaluku on 16. Heksadesimaalijärjestelmä käyttää tavallisten numeroiden 0–9 lisäksi kirjainmerkkejä A–F merkitsemään lukuja 1010–1510. (Lukujen alaindeksissä oleva luku ilmoittaa lukujärjestelmän kantaluvun.) Hexadecimal-sanan otti ensimmäisenä käyttöön IBM, joka halusi korvata aiemman sexidecimal-sanan. == Lukujen muuntaminen == === Heksadesimaalisesta desimaaliseksi === Laskenta tapahtuu samalla tavoin kuin muissa kantalukujärjestelmissä. Muunnos heksadesimaalijärjestelmästä kymmenkantaiseen tapahtuu kertomalla luvun paikkaa vastaava numero vastaavalla 16:n potenssilla, niin että oikeanpuoleisimman paikka on nolla. Esimerkiksi luku ”FE16” on desimaalisena : 15 \cdot 16^1 + 14 \cdot 16^0 = 15 \cdot 16 + 14 = 254. Pidempi luku ”ABCD16” on desimaalisena : 10 \cdot 16^3 + 11 \cdot 16^2 + 12 \cdot 16^1 + 13 \cdot 16^0 = 43\ 981. === Binääri- ja heksadesimaalijärjestelmän välillä === Jokainen neljän binäärinumeron (bitin) ryhmä vastaa yhtä heksadesimaalinumeroa. Muuntamisessa voidaan käyttää yllä oikealla olevaa taulukkoa. On huomattava, että bittien ryhmittely tehdään lopusta alkaen. Esimerkiksi : 1001111002 = 1 0011 11002 = 13C16 (ei 9E016!) ja toisin päin : 13C16 = 1 0011 11002 = 1001111002. Samankaltaista muunnosmenetelmää voi soveltaa muihinkin lukujärjestelmiin, joissa toisen kantaluku on toisen kantaluvun kerrannainen. == Murtoluvut == Murtolukujen vertailua kymmen- ja heksadesimaalijärjestelmissähttps://www.rapidtables.com/convert/number/base- converter.html Murtoluku Kymmenjärjestelmä Heksadesimaalijärjestelmä 1:2 0{,}5 0{,}8 1:3 0{,}\overline{3} 0{,}\overline{5} 1:4 0{,}25 0{,}4 1:5 0{,}2 0{,}\overline{3} 1:6 0{,}1\overline{6} 0{,}2\overline{\text{A}} 1:7 0{,}\overline{142857} 0{,}\overline{249} 1:8 0{,}125 0{,}2 1:9 0{,}\overline{1} 0{,}\overline{\text{1C7}} 1:10 0{,}1 0{,}1\overline{9} 1:11 0{,}\overline{09} 0{,}\overline{\text{1745D}} 1:12 0{,}08\overline{3} 0{,}1\overline{5} 1:13 0{,}\overline{076923} 0{,}\overline{\text{13B}} 1:14 0{,}0\overline{714285} 0{,}1\overline{249} 1:15 0{,}0\overline{6} 0{,}\overline{1} 1:16 0{,}0625 0{,}1 == Tietotekniikassa == Heksadesimaalijärjestelmää käytetään yleisesti tietotekniikassa, koska yksi 16-kantaisen järjestelmän merkki vastaa suoraan puolitavua () eli binäärijärjestelmän neljää peräkkäistä bittiä. Näin esimerkiksi 8-bittisen tavun arvo voidaan ilmaista kahden merkin pituisella heksadesimaaliluvulla. Ohjelmoinnissa heksadesimaaliluvut erotetaan desimaaliluvuista muun muassa seuraavin tavoin: * `\xAB` * `0xCD` (esimerkiksi C johdannaisineen) * `xEF` * `$1A` (mm. eräät MOS 6502 -assemblerit) * `BC$` * `&HDE;` (mm. QBasic) * `16h` * `x'40'` * `'00'x` * `#F3` === Väriarvot HTML:ssä ja CSS:ssä === Heksadesimaalijärjestelmää käytetään mm. HTML- ja CSS-kielissä väriarvojen merkitsemiseen siten, että kuusinumeroisesta heksadesimaaliluvusta kaksi ensimmäistä numeroa ilmoittavat punaisen (R) määrän, kaksi seuraavaa vihreän (G) määrän ja kaksi viimeista sinisen (B) määrän. Tässä tapauksessa luku erotetaan yleensä laittamalla risuaitamerkki (#) luvun eteen. Esimerkkejä: * `#FF8000`: punaisen osavärin arvo on FF16 eli 255 eli täysi, vihreän 8016 eli 128 ja sinisen 016 eli 0. Kun osavärit yhdistetään, saadaan tulokseksi oranssi väri. * `#FFFFFF`: täysin valkoinen väri, koska kaikki osavärit ovat maksimiarvoissaan (FF16 eli 255). === Vaihtoehdot heksadesimaalijärjestelmälle === Toinen ohjelmointiin sopiva kantalukujärjestelmä, jonka kantaluku on kahden potenssi, on oktaalijärjestelmä eli kahdeksanjärjestelmä. == Lähteet == == Aiheesta muualla == * Heksadesimaaliluvut - tut.fi * https://jkorpela.fi/sanat/heksa.html Luokka:Lukujärjestelmät Luokka:Tietokonearitmetiikka Luokka:Seulonnan keskeiset artikkelit