Lukujärjestelmämuunnin

Vertaile Laskelmia

Lataukset

Sisältää tämän laskelman syötteet ja tulokset, sekä kaikki vertailemasi lisälaskelmat.

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:

Arvo=i=0ndi×Kantai\vA{\text{Arvo}} = \sum_{i=0}^{n} d_i \times \vB{\text{Kanta}}^i

jossa did_i on numero paikassa ii (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:

  1. Lukien oikealta vasemmalle, jokainen 1 antaa oman paikka-arvonsa: 27+26+25+24+23+22+21+20=2552^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 = 255.
  2. Desimaali: 255.
  3. 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.
  4. 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, 0011 binaarina on sama arvo kuin 11 — 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, ei 1010: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.

Lähde: Standard positional numeral system conversion.

Usein Kysytyt Kysymykset

Mikä on lukukantajärjestelmä (kantaluku)?

Lukukantajärjestelmä kertoo, kuinka monta erillistä numeroa lukujärjestelmä käyttää ennen siirtymistä seuraavaan paikka-arvoon. Desimaali (kanta 10) käyttää numeroita 0-9; binaari (kanta 2) käyttää vain 0:aa ja 1:tä; oktaali (kanta 8) käyttää numeroita 0-7; heksadesimaali (kanta 16) käyttää numeroita 0-9 ja sitten kirjaimia A-F edustamaan lukuja 10-15.

Miksi tietokoneet käyttävät binaarilukua?

Tietokonelaitteisto on rakennettu kytkimistä, jotka ovat aina joko täysin päällä tai täysin pois päältä, mikä sopii luontevasti binaarin kahteen numeroon (1 ja 0). Jokainen arvo, jonka tietokone tallentaa tai käsittelee, esitetään lopulta binaarina, vaikka ohjelmoijat työskentelevät yleensä ihmisystävällisemmillä kantajärjestelmillä, kuten desimaalilla tai heksadesimaalilla.

Miksi heksadesimaalia käytetään binaarin sijaan ohjelmoinnissa?

Jokainen heksadesimaalinumero edustaa täsmälleen 4 binaarinumeroa (bittiä), joten heksaluku on noin neljäsosa vastaavan binaariluvun pituudesta esittäen samalla täsmälleen saman arvon — paljon helpompi ihmisen lukea, kirjoittaa ja vertailla kuin pitkä 1:sten ja 0:jen jono.

Voiko tämä laskuri käsitellä negatiivisia lukuja?

Ei — negatiivisen luvun esittäminen binaarina tai heksadesimaalina vaatii kiinteän bittileveyden ja kahden komplementin käytännön valitsemista, mikä vaihtelee kontekstin mukaan (8-bittinen, 16-bittinen, 32-bittinen jne.). Tämä laskuri on rajattu ei-negatiivisiin kokonaislukuihin, joissa muunnos on yksiselitteinen.

Vahvista ikäsi

Luodaksesi tilin, kerro syntymäkuukautesi ja -vuotesi.