Číselné sústavy v informatike
V bežnom živote používame decimálnu (desiatkovú) číselnú sústavu. Okrem nej boli vytvorené aj ďalšie, ktoré sa používajú vo informatike. Binárna (dvojková), oktálna (osmičková) a hexadecimálna (šestnástková).
Binárna (dvojková) číselná sústava
Používa sa vo všetkých počítačoch. Používa len 2 cifry a to 0 a 1. Tieto hodnoty sa v informatike nazývajú aj booleové. Využívajú sa aj v programovaní a predstavujú hodnoty pravda (1) a nepravda (0).
Príklady binárnych čísel: 111, 1000001, 10, 110101
Prevod z binárnej do decimálnej sústavy
Pre pochopenie prevodu je potrebné pochopiť ako fungujú číselné sustavy.
Desiatkovej sústave rozumieme, narábame s ňou každý deň. Ale vysvetlime si ju. Číslo 123. V desiatkovej sústave by sme ho zapísali nasledovne:
3x100 + 2x101 + 1x103, tj. 3x1 + 2x10 + 1x100.
Mocniny čísla 10 sú pre nás jednoduché, stačí pridať 0 pri každom umocnení.
Dvojková sústava funguje na rovnakom princípe a tiež je jedna z jednoduchších. Napríklad číslo 100112 rozpíšeme nasledovne:
1x20 + 1x21 + 0x22 + 0x23 + 1x24, tj. 1x1 + 1x2 + 0x4 + 0x8 + 1x16
Týmto postupom sme vlastne číslo 100112 previedli na desiatkový príklad, takže 1 + 2 + 0 + 0 + 16 = 1910
Pri prevádzaní z akejkoľvek sústavy do desiatkovej postupujeme vždy sprava doľava a rozpisujeme každú cifru mocninou toho čísla, podľa toho z akej sústavy prevádzame. Ak prevádzame z dvojkovej, používame mocniny čísla 2, ak zo šestnástkovej, tak používame mocniny čísla 16.
Pomôcka pre mocniny čísla 2: 1024-512-256-128-64-32-16-8-4-2-1
Dvojkové číla ale nemusíme takto zdĺhavo rozpisovať. Stačí si uvedomiť, ako po sebe idú mocniny. Takže ak máme číslo 110, vieme, že na mieste kde je 0 je 20, čo je 1. Na mieste kde je číslo 1 je 2 a na poslednej 1 je číslo 4. Pokračovať by to mohlo do nekonečna. Tieto čísla započítame len vtedy, keď je v dvojkovom čísla na danom mieste cifra 1.
Ďalšie príklady:
11112 = 1 + 2 + 4 + 8 = 1510
1100012 = 1 + 0 + 0 + 0 + 16 + 32 = 4910
1002 = 0 + 0 + 4 = 410
100002 = 0 + 0 + 0 + 0 + 16= 1610
Prevod z decimálnej do binárnej sústavy
Prevod z desiatkovej do dvojkovej sústavy je tiež celkom jednoduchý.
Princíp je deliť desiatkové číslo číslom 2 dovtedy, pokiaľ sa nedostaneme pri delení po číslo 1 vrátane. Pri delení číslom 2 máme len dve možnosti zvyšku, buď bude 0 alebo 1 - v tom je tá jednoduchosť.
Vysvetlime si to na príklade:
710 = ?2
7 : 2 = 3,5 - zvyšok 1
3 : 2 = 1,5 - zvyšok 1
1 : 2 = 0,5 - zvyšok 1
zvyšky zapíšeme smerom zdola nahor a máme výsledok: 1112
Ešte jeden príklad:
5410 = ?2
54 : 2 = 27 - zvyšok 0
27 : 2 = 13 - zvyšok 1
13 : 2 = 6 - zvyšok 1
6 : 2 = 3 - zvyšok 0
3 : 2 = 1 - zvyšok 1
1 : 2 = 0 - zvyšok 1
zvyšky zapíšeme smerom zdola nahor a máme výsledok: 1101102
Hexadecimálna (šestnástková) číselná sústava
Šestnástková sústava sa v informatike tiež hojne využíva. Napríklad pri IPv6 adresách, pri reprezentácii farieb a i.
Desiatková sústava používa 10 cifier: 0, 1, 2, 3, 4, 5, 6, 7, 8 a 9
Dvojková sústava používa 2 cifry: 0 a 1
Šestnástková sústava používa 16 cifier: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Cifry A-F predstavujú matematické čísla 10-15.
Príklady šestnástkových čísel: FFF, 2F03A, A0, FB3
Prevod z hexadecimálnej do decimálnej sústavy
Pomôcka pre mocniny čísla 16: 4096-256-16-1
Príklad 1:
F0116 = 1x160 + 0x161 + Fx162
Cifry, ktoré neexistujú v desiatkovej sústave si premeníme, v tomto prípade je to len F = 15:
F0116 = 1x160 + 0x161 + 15x162
Vypočítame:
F0116 = 1x1 + 0x16 + 15x256 = 1 + 0 + 3840 = 384110
Príklad 2:
81A16 = Ax160 + 1x161 + 8x162
Cifry, ktoré neexistujú v desiatkovej sústave si premeníme, tentokrát je to A = 10:
81A16 = 10x160 + 1x161 + 8x162
Vypočítame:
81A16 = 10x1 + 1x16 + 8x256 = 10 + 16 + 2048 = 207410
Príklad 3:
100116 = 1x160 + 0x161 + 0x162 + 1x163
Vypočítame:
100116 = 1x1 + 0x16 + 0x256 + 1x4096 = 1 + 0 + 0 + 4096 = 409710
Prevod z decimálnej do hexadecimálnej sústavy
Podobne ako tomu bolo v dvojkovej sústave, budeme deliť desiatkové číslo. Tentokrát sa zastavíme pri čísle 15 (vrátane) a deliť budeme číslom 16.
Menší zádrhel môže vzniknúť pri zvyšku, tu môže byť zvyšok 0-15. Musíme ho vedieť vypočítať. Keď delíme číslo 26 číslom 16 vyjde 1,625. Takže celé číslo 16 sa do čísla 26 zmestí 1 krát. Po tom nám ostane zvyšok 26 - 16x1 = 10. To je základný princíp.
Príklad 1:
2610 = ?16
26 : 16 = 1 - zvyšok 26 - 16x1 = 10 (A)
1 : 16 = 0 - zvyšok 1
zvyšky zapíšeme smerom zdola nahor a máme výsledok: 1A16
Príklad 2:
349510 = ?16
3495 : 16 = 218 - zvyšok 3495 - 16x218 = 7
218 : 16 = 13 - zvyšok 218 - 16x13 = 10 - (A)
13 : 16 = 0 - zvyšok 13 - (D)
zvyšky zapíšeme smerom zdola nahor a máme výsledok: DA716
Príklad 3:
1600010 = ?16
16000 : 16 = 1000 - zvyšok 0
1000 : 16 = 62 - zvyšok 1000 - 16x62 = 8
62 : 16 = 3 - zvyšok 62 - 16x3 = 14 - (E)
3 : 16 = 0 - zvyšok 3
zvyšky zapíšeme smerom zdola nahor a máme výsledok: 3E8016
Prevodník číselných sústav
Ak nemáte trpezlivosť prevádzať čísla z rôznych sústav ručne, vyskúšajte prevodník číselných sústav.