Dvojiško, desetiško in šestnajstiško: kako pretvarjati med njimi

Pretvarjanje med številskimi sistemi se zdi čarovnija, dokler ne vidiš, da je ideja vedno ista: vsaka števka šteje glede na mesto, ki ga zaseda. Tu se naučiš ročno pretvarjati iz dvojiškega v desetiški zapis in obratno, brez strahu brati šestnajstiški zapis in prevajati besedilo v bite, z rešenimi računi in tabelo od 0 do 15 pri roki.

Posodobljeno:

Kaj je pozicijski številski sistem

V desetiškem številu 4.095 štirica ne pomeni 4: pomeni 4.000, ker stoji na mestu tisočic. Vsako mesto pomnoži števko s potenco števila 10 (1, 10, 100, 1.000 …). To je pozicijski sistem, osnova pa je število različnih števk, ki jih uporabljamo: pri desetiškem jih je deset.

Dvojiški sistem deluje enako, a z osnovo 2: obstajata samo 0 in 1, vsako mesto pa velja dvakrat toliko kot prejšnje. Šestnajstiški sistem ima osnovo 16: šestnajst števk je 0 do 9 in črke A do F, vsako mesto pa velja 16-krat toliko kot prejšnje. Računalniki delajo v dvojiškem sistemu, ker mora vezje razlikovati le dve stanji (izklopljeno in vklopljeno), šestnajstiški zapis pa je kratek način za pisanje teh bitov.

Koliko velja vsako mesto. Če znaš na pamet potence števila 2 do 128, prihraniš skoraj vse račune.
Mesto (od desne proti levi)Vrednost v dvojiškem sistemuVrednost v šestnajstiškem sistemu
1.11
2.216
3.4256
4.84.096
5.1665.536
6.321.048.576
7.6416.777.216
8.128268.435.456

Iz dvojiškega v desetiški zapis, na roke

Vsako števko zapišeš z vrednostjo njenega mesta in seštevaš samo mesta, kjer je enica. Primer z 1101: od desne proti levi imajo mesta vrednosti 1, 2, 4 in 8.

  1. Zapiši število in pod njim vrednost vsakega mesta: 1 1 0 1 nad 8 4 2 1.
  2. Poglej, kaj je na vsakem mestu: enica na mestu osmice, enica na mestu štirice, ničla na mestu dvojke in enica na mestu enice.
  3. Prezri mesta z ničlo (tu mesto dvojke).
  4. Seštej: 8 + 4 + 0 + 1 = 13. Torej je 1101 v dvojiškem zapisu 13 v desetiškem.

Z več števkami je enako: 11111111 je 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, največja vrednost, ki gre v 8 bitov. In 10110110 je 128 + 32 + 16 + 4 + 2 = 182.

Iz desetiškega v dvojiški zapis, z zaporednim deljenjem

Število znova in znova deliš z 2 in si zapišeš ostanek vsakega deljenja (vedno 0 ali 1), dokler ne dobiš količnika 0. Ostanki, prebrani od spodaj navzgor, so dvojiško število. Primer s 45:

Če ostanke prebereš od spodaj navzgor, dobiš 101101. Za preverjanje seštej: 32 + 8 + 4 + 1 = 45.

Obstaja tudi drugačen postopek, ki ga mnogi raje uporabljajo: odštevanje potenc števila 2 od največje do najmanjše. Pri 200: gre 128 (ostane 72), gre 64 (ostane 8), 32 in 16 ne gresta, 8 pa gre (ostane 0). Uporabljena mesta so 128, 64 in 8, zato je 200 = 11001000.

Šestnajstiški zapis: šestnajst števk in tabela pri roki

Ker ni števk za 10 do 15, uporabljamo črke A, B, C, D, E in F. Ena šestnajstiška števka ustreza natanko štirim bitom (»nibble«), zato je tako priročna: bajt, ki ima 8 bitov, se zapiše le z dvema šestnajstiškima števkama.

Za pretvorbo iz šestnajstiškega v desetiški zapis pomnoži vsako števko s potenco števila 16 njenega mesta in seštej. Na primer, 3F = 3 × 16 + 15 = 63 in A3 = 10 × 16 + 3 = 163.

Od 0 do 15 v štirih sistemih, ki jih prikazuje orodje.
DesetiškoDvojiško (4 biti)OsmiškoŠestnajstiško
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

Zakaj se uporablja šestnajstiški zapis: bajti, barve in naslovi

Bajt je 8 bitov in zajema vrednosti od 0 do 255 (00000000 do 11111111). Pisanje bitov na roke je počasno in nagnjeno k napakam; v šestnajstiškem zapisu je isti bajt dva znaka, od 00 do FF. Za pretvorbo iz dvojiškega v šestnajstiški zapis razdeli bite v skupine po štiri od desne in vsako skupino zamenjaj z njeno števko iz tabele. Primer: 11010111 razdeliš na 1101 in 0111, ki sta D in 7, zato je vrednost D7. V desetiškem zapisu je to 13 × 16 + 7 = 215.

Najbolj znan primer so spletne barve. V #FF8800 so trije bajti: FF za rdečo (255), 88 za zeleno (136) in 00 za modro (0). To je živo oranžna barva: vsa rdeča, nekaj več kot polovica zelene in nič modre. Šestnajstiški zapis se pojavlja tudi pri pomnilniških naslovih, kodah napak in omrežnih oznakah.

Iz besedila v dvojiški zapis z ASCII

Računalnik vsako črko shrani kot število, to število pa kot bite. V tabeli ASCII je A številka 65, kar je v 8-bitnem dvojiškem zapisu 01000001. Beseda »Hi« sta dve črki: H je 72 (01001000) in i je 105 (01101001), zato se zapiše 01001000 01101001. Pri besedi »Hola« so to 72, 111, 108 in 97, torej 01001000 01101111 01101100 01100001, v šestnajstiškem zapisu pa 48 6F 6C 61.

Orodje uporablja kodiranje UTF-8: pri osnovnih angleških črkah vsak znak zavzame en bajt z 8 biti, črka š, črka z naglasom ali emoji pa zavzamejo več bajtov, zato dajo več kot 8 bitov. Na primer, črka ñ sta dva bajta: 11000011 10110001 (C3 B1 v šestnajstiškem zapisu).

Kako vse to narediš z orodjem

Pretvornik Dvojiško, desetiško in šestnajstiško je uporaben za preverjanje ročnih računov ali za reševanje dolgih števil brez napak.

  1. Vnesi število v polje njegovega sistema: Desetiško (osnova 10), Dvojiško (osnova 2), osmiško ali Šestnajstiško (osnova 16). Ostala tri se izpolnijo sama.
  2. Če števka ne ustreza sistemu (na primer 2 v dvojiškem), te orodje opozori.
  3. Za besedilo ga vnesi v polje Besedilo in poglej Dvojiško (8 bitov na znak) ter šestnajstiški zapis po bajtih. Prilepiš lahko tudi bite v skupinah po 8, da se vrneš k besedilu.
  4. Za nenavadne sisteme uporabi Poljuben sistem (2 do 36): izbereš izhodiščno osnovo, ciljno osnovo in število.

Omejitve: pretvarja samo nenegativna cela števila (brez decimalk in predznaka) in ti ne doda vodilnih ničel, zato jih moraš za stalnih 8 bitov dodati sam (13 je 00001101). Nič, kar vpišeš, ne zapusti tvojega brskalnika.

Pogoste napake

Rešene vaje za vadbo

Poskusi rešiti vsako, preden pogledaš odgovor, nato pa preveri z orodjem.

Pogosta vprašanja

Kako pretvorim 1101 iz dvojiškega v desetiški zapis?

Seštej vrednosti mest, kjer je enica: 8 + 4 + 1 = 13. Druga števka z desne je ničla, zato dvojke ne prišteješ.

Koliko je 255 v dvojiškem in šestnajstiškem zapisu?

255 je 11111111 v dvojiškem in FF v šestnajstiškem zapisu. To je največja vrednost, ki gre v 8-bitni bajt.

Zakaj šestnajstiški sistem uporablja črke?

Ker potrebuje šestnajst različnih simbolov, desetiški sistem pa jih ponuja le deset (0 do 9). Zato je A enako 10, B 11, C 12, D 13, E 14 in F 15.

Koliko različnih števil lahko zapišemo z 8 biti?

256, od 0 do 255. Na splošno lahko z n biti predstavimo 2 na n vrednosti.

Ali orodje pretvarja negativna števila ali števila z decimalkami?

Ne, samo nenegativna cela števila. Za besedilo uporablja UTF-8, zato črke z diakritičnimi znaki in emojiji dajo več kot 8 bitov.