Přepsání Stejné Hodnoty Napříč Binární, Osmičkovou, Desítkovou a Šestnáctkovou Soustavou
Číselná báze (nebo „radix“) je, kolik odlišných číslic číselná soustava používá, než přejde na další hodnotu místa — desítková používá 10 (0–9), binární používá 2 (0–1), osmičková používá 8 (0–7), a šestnáctková používá 16 (0–9 pak A–F). Zadejte celé číslo v kterékoli z těchto čtyř bází, a tato kalkulačka zobrazí stejnou hodnotu zapsanou ve všech čtyřech najednou.
Binární je způsob, jakým počítače interně reprezentují každou hodnotu (každá číslice je jeden „bit“); šestnáctková je běžná zkratka pro binární v programování (každá hex číslice zastupuje přesně 4 binární číslice, takže je mnohem kompaktnější pro čtení a psaní); osmičková se objevuje ve starších Unix oprávněních souborů a některých nízkoúrovňových kontextech. Desítková je jen běžná soustava se základem 10.
Formule
Každá poziční číselná soustava funguje stejným způsobem: každá číslice je vynásobena bází umocněnou na její mocninu hodnoty místa, pak sečteno:
kde je číslice na pozici (počítáno od 0 u nejpravější číslice). Převod na jinou bázi opakovaně dělí desítkovou hodnotu novou bází, zaznamenává každý zbytek — opak výše uvedeného součtu.
Řešený Příklad
Převod binárního 11111111 na ostatní tři báze:
- Čtěte zprava doleva, každá
1přispívá svou hodnotou místa: . - Desítková: 255.
- Osmičková: opakované dělení 255 osmi (255 ÷ 8 = 31 zb.7, 31 ÷ 8 = 3 zb.7, 3 ÷ 8 = 0 zb.3) čte zbytky zdola nahoru jako 377.
- Šestnáctková: 255 ÷ 16 = 15 zb.15, 15 ÷ 16 = 0 zb.15 — oba zbytky jsou 15 (F v hex), dává FF.
Klíčové Faktory ke Zvážení
- Jeden bajt (8 bitů) může reprezentovat přesně 256 odlišných hodnot — 0 až 255 v desítkové soustavě, nebo 00 až FF v šestnáctkové. Toto je přesně důvod, proč je 255/FF tak běžnou referenční hodnotou v informatice — je to maximální hodnota, kterou může obsahovat jeden bajt, což se objevuje všude od kanálů barev RGB (0-255 na kanál) po síťování a formáty souborů.
- Osmičková soustava byla historicky běžnější, než je dnes, převážně kvůli starším velikostem počítačových slov. Osmičková (báze 8) se čistě mapuje na skupiny 3 binárních číslic, což vyhovovalo počítačům postaveným kolem velikostí slov dělitelných 3 bity — moderní výpočetní technika se z velké části přesunula k šestnáctkové (která se mapuje na skupiny 4 bitů), protože většina moderního hardwaru používá velikosti slov dělitelné 4 a 8, ačkoli osmičková se stále objevuje ve specifických kontextech jako zápis oprávnění souborů Unix (např. chmod 755).
- Běžnou chybou programátorů je zaměnit bázi čísla pouze z kontextu. Číslice „10” znamenají velmi odlišné hodnoty v závislosti na bázi — 10 v desítkové, 2 v binární, 8 v osmičkové, 16 v šestnáctkové — což je důvod, proč programovací jazyky obvykle vyžadují explicitní předponu (jako 0x pro hex nebo 0b pro binární) k odstranění jakékoli nejednoznačnosti o tom, jaká báze je zamýšlena.
- Jakékoli celé číslo lze teoreticky reprezentovat v JAKÉKOLI bázi, ne jen v těchto čtyřech. Binární, osmičková, desítková, a šestnáctková jsou jednoduše čtyři báze s nejběžnějším praktickým využitím v informatice a každodenní matematice — stejný princip poziční notace, který tato kalkulačka používá, se rozšiřuje na jakoukoli bázi, jako báze 3, báze 20, nebo báze 60 (základ toho, jak jsou tradičně rozdělovány čas a úhly).
Časté Chyby
- Čtení čísla ve smíšené bázi bez předpony jako výchozí desítkové. „10” znamená deset v desítkové soustavě, ale jen dva v binární — vždy zkontrolujte (nebo uveďte), v jaké bázi je číslo zapsáno, než s ním provedete výpočty.
- Předpoklad, že úvodní nuly mění hodnotu. Stejně jako v desítkové soustavě,
0011v binární je stejná hodnota jako11— úvodní nuly mají význam pouze pro formátování s pevnou šířkou (jako zobrazení celého bajtu), ne pro skutečnou hodnotu čísla. - Zapomenutí, že hex číslice nad 9 používají písmena, ne dvouciferná čísla. Šestnáctkových 10
se zapisuje jako
A, ne10— napsání10v hex ve skutečnosti znamená šestnáct v desítkové soustavě, což je běžný zdroj velkých chyb. - Pokus o přímý převod záporného čísla. Jak uvádí výše uvedené časté dotazy, záporné binární/ hex hodnoty závisí na zvolené bitové šířce a konvenci dvojkového doplňku — neexistuje jediný jednoznačný převod tak, jako u nezáporných celých čísel.
Užitečné Informace
- Pracujete se síťovými adresami místo libovolných čísel? Kalkulačka IP Podsítě aplikuje stejný binárně-desítkový vztah konkrétně na adresy IPv4.
- Potřebujete velmi velká nebo velmi malá desítková čísla v kompaktní podobě? Kalkulačka Vědeckého Zápisu zvládá tento typ převodu místo toho.
- Zajímá vás mnohem starší poziční systém číslování? Kalkulačka Římských Číslic převádí do a z římských číslic, které používají zcela odlišný (nepoziční) přístup.