Binárne, desiatkové a šestnástkové čísla: ako ich navzájom previesť

Prevod medzi sústavami vyzerá ako mágia, kým nezistíte, že je to stále tá istá myšlienka: každá číslica má hodnotu podľa miesta, ktoré zaujíma. Naučíte sa ručne previesť binárne číslo na desiatkové a desiatkové na binárne, čítať šestnástkovú sústavu bez strachu a prekladať text na bity, s vyriešenými výpočtami a tabuľkou 0 až 15 poruke.

Aktualizované:

Čo je pozičná číselná sústava

V desiatkovom čísle 4 095 nemá 4 hodnotu 4: má hodnotu 4 000, pretože stojí na mieste tisícov. Každá pozícia násobí číslicu mocninou 10 (1, 10, 100, 1 000…). To je pozičná sústava a základ je počet rôznych používaných číslic: v desiatkovej desať.

Binárna sústava funguje rovnako, ale so základom 2: existujú len 0 a 1 a každé miesto má dvojnásobnú hodnotu než predchádzajúce. Šestnástková používa základ 16: šestnásť číslic je 0 až 9 a písmená A až F a každé miesto má 16-násobnú hodnotu než predchádzajúce. Počítače pracujú v binárnej sústave, pretože obvod musí rozlišovať len dva stavy (vypnuté a zapnuté), a šestnástková sústava je skrátený zápis týchto bitov.

Čo znamená každé miesto. Ak sa naučíte spamäti mocniny dvojky až do 128, ušetríte si takmer všetky výpočty.
Pozícia (sprava doľava)Hodnota v binárnejHodnota v šestnástkovej
1.11
2.216
3.4256
4.84 096
5.1665 536
6.321 048 576
7.6416 777 216
8.128268 435 456

Z binárnej na desiatkovú, ručne

Každú číslicu napíšete s hodnotou jej miesta a sčítate len miesta, kde je 1. Príklad s 1101: sprava doľava majú miesta hodnoty 1, 2, 4 a 8.

  1. Napíšte číslo a pod neho hodnotu každej pozície: 1 1 0 1 nad 8 4 2 1.
  2. Všimnite si, čo je na každom mieste: 1 na mieste osmičky, 1 na mieste štvorky, 0 na mieste dvojky a 1 na mieste jednotky.
  3. Ignorujte miesta, ktoré majú 0 (tu to na mieste dvojky).
  4. Sčítajte: 8 + 4 + 0 + 1 = 13. Teda 1101 v binárnej sústave je 13 v desiatkovej.

S viacerými číslicami je to rovnaké: 11111111 je 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, najväčšia hodnota, ktorá sa zmestí do 8 bitov. A 10110110 je 128 + 32 + 16 + 4 + 2 = 182.

Z desiatkovej na binárnu, postupným delením

Číslo delíte dvomi znova a znova a zapisujete zvyšok každého delenia (vždy 0 alebo 1), kým nedostanete podiel 0. Zvyšky prečítané zdola nahor sú binárne číslo. Príklad s 45:

Ak prečítate zvyšky zdola nahor, vyjde 101101. Na kontrolu sčítajte: 32 + 8 + 4 + 1 = 45.

Existuje alternatívna metóda, ktorú mnohí uprednostňujú: odčítať mocniny dvojky od najväčšej po najmenšiu. Pre 200: zmestí sa 128 (zostane 72), zmestí sa 64 (zostane 8), nezmestia sa 32, 16, ale 8 áno (zostane 0). Použité miesta sú 128, 64 a 8, takže 200 = 11001000.

Šestnástková sústava: šestnásť číslic a tabuľka poruke

Keďže neexistujú číslice pre 10 až 15, používajú sa písmená A, B, C, D, E a F. Jedna šestnástková číslica zodpovedá presne štyrom bitom («nibble»), a preto je taká výhodná: bajt, teda 8 bitov, sa zapíše len dvoma šestnástkovými číslicami.

Na prevod zo šestnástkovej na desiatkovú vynásobte každú číslicu mocninou 16 jej miesta a sčítajte. Napríklad 3F = 3 × 16 + 15 = 63 a A3 = 10 × 16 + 3 = 163.

Od 0 do 15 v štyroch sústavách, ktoré zobrazuje nástroj.
DesiatkovoBinárne (4 bity)OsmičkovoŠestnástkovo
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

Prečo sa používa šestnástková sústava: bajty, farby a adresy

Bajt je 8 bitov a ide od 0 do 255 (00000000 až 11111111). Písať bity ručne je pomalé a náchylné na chyby; v šestnástkovej sústave je ten istý bajt dva znaky, od 00 do FF. Na prevod z binárnej na šestnástkovú rozdeľte bity do skupín po štyroch sprava a každú skupinu nahraďte jej číslicou z tabuľky. Príklad: 11010111 sa rozdelí na 1101 a 0111, čo je D a 7, takže hodnota je D7. Desiatkovo je to 13 × 16 + 7 = 215.

Najznámejší prípad sú webové farby. V #FF8800 sú tri bajty: FF pre červenú (255), 88 pre zelenú (136) a 00 pre modrú (0). Je to sýta oranžová: všetka červená, o niečo viac než polovica zelenej a žiadna modrá. Šestnástková sústava sa objavuje aj v pamäťových adresách, chybových kódoch a sieťových identifikátoroch.

Z textu na binárne pomocou ASCII

Počítač ukladá každé písmeno ako číslo a toto číslo ako bity. V ASCII tabuľke je A 65, čo je v 8-bitovej binárnej sústave 01000001. Slovo «Hi» sú dve písmená: H je 72 (01001000) a i je 105 (01101001), takže sa zapíše 01001000 01101001. S «Hola» sú to 72, 111, 108 a 97, teda 01001000 01101111 01101100 01100001, alebo šestnástkovo 48 6F 6C 61.

Nástroj používa kódovanie UTF-8: pri základných písmenách angličtiny zaberá každý znak jeden 8-bitový bajt, ale ň, písmeno s diakritikou alebo emoji zaberajú viac bajtov, takže dajú viac než 8 bitov. Napríklad ñ sú dva bajty: 11000011 10110001 (C3 B1 šestnástkovo).

Ako to všetko urobiť s nástrojom

Prevodník «Binárne, desiatkové a hex» slúži na kontrolu vašich ručných výpočtov alebo na riešenie dlhých čísel bez chýb.

  1. Napíšte číslo do poľa jeho sústavy: «Desiatková (základ 10)», «Binárna (základ 2)», osmičková alebo «Šestnástková (základ 16)». Ostatné tri sa doplnia samy.
  2. Ak číslica nezodpovedá sústave (napríklad 2 v binárnej), nástroj vás upozorní.
  3. Pre text ho napíšte do poľa «Text» a pozrite si «Binárne (8 bitov na znak)» a šestnástkový zápis po bajtoch. Môžete tiež vložiť bity v skupinách po 8 a vrátiť sa k textu.
  4. Pre netypické sústavy použite «Ľubovoľná sústava (2 až 36)»: vyberiete zdrojovú sústavu, cieľovú a číslo.

Limity: prevádza len nezáporné celé čísla (bez desatinných miest a znamienka) a nepridáva za vás nuly na začiatku, takže ak chcete pevných 8 bitov, musíte doplniť ručne (13 je 00001101). Nič z toho, čo napíšete, neopustí váš prehliadač.

Časté chyby

Vyriešené cvičenia na precvičenie

Skúste vyriešiť každé pred pohľadom na odpoveď a potom skontrolujte nástrojom.

Často kladené otázky

Ako previediem 1101 z binárnej na desiatkovú?

Sčítate hodnoty miest, kde je 1: 8 + 4 + 1 = 13. Druhá číslica sprava je 0, takže dvojka sa nesčítava.

Koľko je 255 binárne a šestnástkovo?

255 je binárne 11111111 a šestnástkovo FF. Je to najväčšia hodnota, ktorá sa zmestí do 8-bitového bajtu.

Prečo šestnástková sústava používa písmená?

Pretože potrebuje šestnásť rôznych symbolov a desiatková dodáva len desať (0 až 9). Preto A je 10, B je 11, C je 12, D je 13, E je 14 a F je 15.

Koľko rôznych čísel sa dá zapísať 8 bitmi?

256, od 0 do 255. Všeobecne sa s n bitmi dá vyjadriť 2 na n hodnôt.

Prevádza nástroj záporné čísla alebo čísla s desatinnými miestami?

Nie, len nezáporné celé čísla. Pre text používa UTF-8, takže písmená s diakritikou a emoji dávajú viac než 8 bitov.