Saman Arvon Kirjoittaminen Binaarina, Oktaalina, Desimaalina ja Heksadesimaalina
Lukukantajärjestelmä (tai “kantaluku”) kertoo, kuinka monta erillistä numeroa lukujärjestelmä käyttää ennen siirtymistä seuraavaan paikka-arvoon — desimaali käyttää 10:tä (0–9), binaari käyttää 2:ta (0–1), oktaali käyttää 8:aa (0–7), ja heksadesimaali käyttää 16:ta (0–9 ja sitten A–F). Syötä kokonaisluku missä tahansa näistä neljästä kantajärjestelmästä, ja tämä laskuri näyttää saman arvon kirjoitettuna kaikissa neljässä samanaikaisesti.
Binaari on tapa, jolla tietokoneet esittävät jokaisen arvon sisäisesti (jokainen numero on yksi “bitti”); heksadesimaali on yleinen lyhennysmerkintä binaarille ohjelmoinnissa (jokainen heksanumero vastaa täsmälleen 4:ää binaarinumeroa, joten se on paljon kompaktimpi lukea ja kirjoittaa); oktaalia näkyy vanhemmissa Unix-tiedostojen käyttöoikeuksissa ja joissakin matalan tason konteksteissa. Desimaali on vain jokapäiväinen kymmenjärjestelmä.
Kaava
Jokainen paikkajärjestelmä toimii samalla tavalla: jokainen numero kerrotaan kantaluvulla korotettuna sen paikka-arvon potenssiin, ja summataan:
jossa on numero paikassa (laskien oikeanpuoleisimmasta numerosta alkaen nollasta). Muuntaminen toiseen kantajärjestelmään jakaa desimaaliarvon toistuvasti uudella kannalla, tallentaen kunkin jakojäännöksen — päinvastoin kuin yllä oleva summa.
Laskuesimerkki
Muunnetaan binaariluku 11111111 sen kolmeen muuhun kantajärjestelmään:
- Lukien oikealta vasemmalle, jokainen
1antaa oman paikka-arvonsa: . - Desimaali: 255.
- Oktaali: jakamalla 255 toistuvasti 8:lla (255 ÷ 8 = 31 j7, 31 ÷ 8 = 3 j7, 3 ÷ 8 = 0 j3), jakojäännökset luetaan alhaalta ylös muodossa 377.
- Heksadesimaali: 255 ÷ 16 = 15 j15, 15 ÷ 16 = 0 j15 — molemmat jakojäännökset ovat 15 (F heksana), jolloin saadaan FF.
Keskeiset Huomioitavat Tekijät
- Yksi tavu (8 bittiä) voi esittää täsmälleen 256 erillistä arvoa — 0-255 desimaalina, tai 00-FF heksadesimaalina. Tästä syystä 255/FF on niin yleinen viitearvo laskennassa — se on suurin arvo, jonka yksi tavu voi pitää, mikä näkyy kaikkialla RGB-värikanavista (0-255 per kanava) verkkoihin ja tiedostomuotoihin.
- Oktaali oli historiallisesti yleisempi kuin nykyään, pitkälti vanhempien tietokoneiden sanapituuksien vuoksi. Oktaali (kanta 8) sopii siististi 3 binäärinumeron ryhmiin, mikä soveltui 3 bitillä jaollisten sanapituuksien ympärille rakennetuille tietokoneille — moderni laskenta on suurelta osin siirtynyt heksadesimaaliin (joka sopii 4 bitin ryhmiin), koska useimmat modernit laitteistot käyttävät 4:llä ja 8:lla jaollisia sanapituuksia, vaikka oktaali näkyy yhä tietyissä konteksteissa kuten Unix-tiedostojen käyttöoikeusmerkinnässä (esim. chmod 755).
- Yleinen ohjelmoijan virhe on sekoittaa luvun kantajärjestelmä pelkästä asiayhteydestä. Numerot “10” tarkoittavat hyvin eri arvoja kantajärjestelmästä riippuen — 10 desimaalina, 2 binaarina, 8 oktaalina, 16 heksadesimaalina — minkä vuoksi ohjelmointikielet yleensä vaativat nimenomaisen etuliitteen (kuten 0x heksalle tai 0b binaarille) poistaakseen epäselvyyden siitä, mitä kantaa tarkoitetaan.
- Mikä tahansa kokonaisluku voidaan teoriassa esittää MISSÄ TAHANSA kannassa, ei vain näissä neljässä. Binaari, oktaali, desimaali ja heksadesimaali ovat yksinkertaisesti neljä kantaa, joilla on yleisin todellisen maailman käyttö laskennassa ja jokapäiväisessä matematiikassa — sama paikkajärjestelmän periaate, jota tämä laskuri käyttää, ulottuu mihin tahansa kantaan, kuten kantaan 3, kantaan 20 tai kantaan 60 (perusta, jolla aika ja kulmat perinteisesti jaetaan).
Yleisiä Virheitä
- Sekakantaisen luvun lukeminen ilman etuliitettä oletuksena desimaalina. “10” tarkoittaa kymmentä desimaalina mutta vain kahta binaarina — tarkista aina (tai ilmoita), missä kannassa luku on kirjoitettu, ennen kuin lasket sillä.
- Oletetaan, että alkunollat muuttavat arvoa. Aivan kuten desimaalissa,
0011binaarina on sama arvo kuin11— alkunollat ovat merkityksellisiä vain kiinteän leveyden muotoilussa (kuten koko tavun näyttämisessä), ei luvun todellisessa arvossa. - Unohtaen, että hex-numerot yli 9 käyttävät kirjaimia, ei kaksinumeroisia lukuja.
Heksadesimaalinen kymmenen kirjoitetaan
A, ei10—10:n kirjoittaminen heksana tarkoittaa itse asiassa kuuttatoista desimaalina, mikä on yleinen suurten virheiden lähde. - Yritetään muuntaa negatiivinen luku suoraan. Kuten yllä oleva UKK toteaa, negatiiviset binaari-/hex-arvot riippuvat valitusta bittileveydestä ja kahden komplementin käytännöstä — ei ole yhtä yksiselitteistä muunnosta kuten ei-negatiivisilla kokonaisluvuilla.
Hyödyllistä Tietoa
- Työskenteletkö verkko-osoitteiden kanssa mielivaltaisten lukujen sijaan? IP-Aliverkkolaskuri soveltaa samaa binaari-/desimaalisuhdetta erityisesti IPv4-osoitteisiin.
- Tarvitsetko erittäin suuria tai pieniä desimaalilukuja kompaktissa muodossa? Tieteellisen Merkintätavan Laskuri käsittelee sen sijaan tämäntyyppisen muunnoksen.
- Kiinnostaako paljon vanhempi, paikkajärjestelmän kaltainen numerointijärjestelmä? Roomalaisten Numeroiden Laskuri muuntaa roomalaisiin numeroihin ja niistä pois, jotka käyttävät täysin erilaista (ei-paikallista) lähestymistapaa.