Kalkulator za pretvorbo številskih sistemov
Pretvorite celo število v dvojiški, osmiški, desetiški in šestnajstiški zapis.
Kako uporabljati ta kalkulator za pretvorbo osnov
- Vnesite celo število
V polje Celo število vpišite nenegativno celo število (npr. 255 ali 4096).
- Preberite binarno vrednost
Binarni rezultat prikazuje dvojiški zapis.
- Preverite osmiški in šestnajstiški zapis
Preglejte osmiške in šestnajstiške rezultate za kompaktne prikaze.
- Preverite desetiški zapis
Desetiški izhod potrjuje prvotno vrednost za navzkrižno preverjanje.
Kako deluje ta pretvornik številskih sistemov
Ta pretvornik številskih sistemov vzame celo število v desetiškem sistemu (osnova 10) in ga predstavi v dvojiškem (osnova 2), osmiškem (osnova 8) in šestnajstiškem (osnova 16) sistemu — štirih številskih sistemih, ki se najpogosteje uporabljajo v računalništvu. Vsak pozicijski številski sistem deluje na enak način: vsako mesto števke predstavlja zaporedno potenco osnove, vrednost števila pa je vsota vsake števke, pomnožene z njeno pozicijsko utežjo. Pretvarjanje med osnovami je temeljna operacija v nizkonivojskem programiranju, načrtovanju digitalne logike, omrežnem inženiringu (naslovi MAC in IPv6), barvnih kodah v CSS, maskah dovoljenj datotek v Unixu in pregledovanju pomnilniških naslovov med razhroščevanjem.
Ponavljajoče deljenje: delite N s ciljno osnovo R, zapišite ostanek, ponavljajte s količnikom, dokler ne doseže 0, nato preberite ostanke v obratnem vrstnem redu Pretvori desetiško število 255 v dvojiški, osmiški in šestnajstiški sistem. Za dvojiški (R = 2): 255 ÷ 2 = 127 ostanek 1, 127 ÷ 2 = 63 O 1, 63 ÷ 2 = 31 O 1, 31 ÷ 2 = 15 O 1, 15 ÷ 2 = 7 O 1, 7 ÷ 2 = 3 O 1, 3 ÷ 2 = 1 O 1, 1 ÷ 2 = 0 O 1. Branje ostankov od spodaj navzgor: 11111111. Za osmiški (R = 8): 255 ÷ 8 = 31 O 7, 31 ÷ 8 = 3 O 7, 3 ÷ 8 = 0 O 3 → 377. Za šestnajstiški (R = 16): 255 ÷ 16 = 15 O 15 (F), 15 ÷ 16 = 0 O 15 (F) → FF.
Desetiško 4096 → binarno 1000000000000, osmiško 10000, šestnajstiško 1000. Uporabno za razumevanje 4 KiB = 4096 bajtov.
Desetiško 15 → binarno 1111, osmiško 17, šestnajstiško F. Vsaka šestnajstiška števka ustreza natanko štirim bitom; F = 1111.
- ✓ Vnos je nenegativno celo število (nič ali pozitivno celo število). Ulomki in negativna števila zahtevajo razširjene algoritme (npr. dvojiški komplement za predznačena dvojiška števila), ki so zunaj obsega tega orodja.
- ✓ Šestnajstiške števke nad 9 so predstavljene z velikimi črkami A–F, v skladu s konvencijo v večini programskih jezikov, RFC-jev in strojne dokumentacije.
- ✓ Vodilne ničle so v izhodu izpuščene. Za predstavitve s fiksno širino (npr. 8-bitni ali 32-bitni dvojiški zapis) rezultat ročno dopolnite do želene širine.
- ✓ Kalkulator sprejema samo nenegativna cela števila. Vrednosti nad 2^53 − 1 (JavaScriptov Number.MAX_SAFE_INTEGER) so zavrnjene, da prikazane števke ostanejo natančne.
- Vsaka šestnajstiška števka ustreza natanko štirim dvojiškim števkam (bitom), vsaka osmiška števka pa natanko trem bitom. To razmerje omogoča hitro mentalno pretvorbo med šestnajstiškim, osmiškim in dvojiškim sistemom, ko si zapomnite 16 vzorcev polbajta.
- Pogoste vrednosti, ki si jih je vredno zapomniti: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4.294.967.295 (največje nepredznačeno 32-bitno celo število).
- Unix dovoljenja za datoteke uporabljajo osmiški sistem: 755 pomeni rwxr-xr-x (lastnik branje/pisanje/izvajanje, skupina in ostali branje/izvajanje). Vsaka osmiška številka kodira tri bite dovoljenj.
- Šestnajstiške barvne kode CSS so tri zaporedne šestnajstiške vrednosti bajtov, ki predstavljajo rdeči, zeleni in modri kanal — npr. #FF8800 pomeni 255 rdeče, 136 zelene in 0 modre.
- Teorija pozicijskih številskih sistemov — Knuth, D. E., The Art of Computer Programming, Volume 2: Seminumerical Algorithms, razdelek 4.1
- IEEE 754-2019 — Standard za aritmetiko s plavajočo vejico (kontekst predstavitve celih števil)
- RFC 4291 — Arhitektura naslavljanja IP različice 6 (šestnajstiški zapis za IPv6)
Razumevanje številskih sistemov v računalništvu
Vsak pozicijski številski sistem uporablja osnovo (radiks) in vsaki števki dodeli utež glede na njen položaj. V desetiškem sistemu (osnova 10) je skrajno desna števka enice, naslednja desetice, nato stotice. Binarni sistem (osnova 2) uporablja le 0 in 1, kar se neposredno ujema s stanji vklopa/izklopa tranzistorjev. Osmiški sistem (osnova 8) združuje tri bite na števko, šestnajstiški (osnova 16) pa štiri bite na števko, pri čemer uporablja A–F za vrednosti 10–15. Pretvarjanje med osnovami uporablja zaporedno deljenje: število delite s ciljno osnovo, zapišite ostanek, ponovite s količnikom do ničle, nato preberite ostanke v obratnem vrstnem redu. Ta algoritem je osnova za vse pretvorbe osnov v programiranju.
Praktični primeri uporabe pretvorbe osnov za razvijalce
Razvijalci uporabljajo pretvorbo osnov pri pregledovanju pomnilniških izpisov, odpravljanju napak v bitnih operacijah, interpretaciji dovoljenj datotek in delu z barvnimi kodami. Dovoljenja datotek v sistemu Unix (npr. 755) so osmiška: vsaka števka kodira branje/pisanje/izvajanje za lastnika, skupino in ostale. Barve CSS v šestnajstiškem zapisu, kot je #FF8800, so trije zaporedni bajti v šestnajstiškem sistemu. Naslovi IPv6 so zapisani v šestnajstiškem sistemu. Bitne maske in zastavice so zaradi berljivosti pogosto izražene v šestnajstiškem zapisu (0xFF za masko bajta, 0xFFFF za 16 bitov). Pri odpravljanju napak v nizkonivojski kodi ali omrežnih protokolih pretvorba med desetiškim, šestnajstiškim in binarnim zapisom hitro razkrije osnovne bitne vzorce.
Pogosta vprašanja o kalkulatorju za pretvorbo številskih sistemov
Zakaj se v računalništvu uporabljajo dvojiški, osmiški in šestnajstiški sistemi?
Dvojiški sistem se neposredno ujema s stanji vklopa/izklopa tranzistorjev, zato je izvorni jezik strojne opreme. Osmiški in šestnajstiški sistemi so kompaktne okrajšave za dvojiški sistem — ena šestnajstiška števka predstavlja natanko štiri bite, ena osmiška pa tri bite — zato jih programerji uporabljajo za krajši zapis naslovov, bitnih mask in barvnih kod namesto dolgih dvojiških nizov.
Kako pretvorim v drugo smer (npr. iz šestnajstiškega v desetiški sistem)?
Vsako števko pomnožite z njeno pozicijsko potenco osnove in seštejte rezultate. Na primer, šestnajstiško 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419 v desetiškem sistemu.
Kaj se zgodi z zelo velikimi števili?
Kalkulator sprejema le vrednosti do JavaScriptove omejitve za varna cela števila: 2^53 − 1 (9.007.199.254.740.991). Večja števila so zavrnjena, ker lahko v brskalniku pride do izgube najmanj pomembnih števk.
Ali lahko pretvorim negativna števila ali ulomke?
To orodje obravnava ne-negativna cela števila. Negativna cela števila so v računalništvu običajno predstavljena z dvojiškim komplementom v fiksni bitni širini, ulomki pa uporabljajo kodiranje s plavajočo vejico IEEE 754 — oba zahtevata dodatne parametre, ki jih ta kalkulator ne zbira.
Zakaj se predpona 0x pojavi v kodi, ne pa tudi v rezultatu?
Predpona 0x (in 0b za dvojiški, 0o za osmiški sistem) je sintaksa literala, specifična za programski jezik, ki prevajalniku ali interpretu pove, katero osnovo naj pričakuje. Kalkulator izpiše surovi niz števk brez predpone, da se lahko uporabi v katerem koli kontekstu.