====== Číselné soustavy a převody mezi nimi ====== Nejčastěji používaným typem číselné soustavy jsou soustavy polyadické. To jsou takové soustavy, kde je číslo reprezentováno posloupností, ve které se jednotlivé číslice násobí základem soustavy umocněným podle pozice číslice v čísle. 8456 v desítkové soustavě je tedy 8 * 10³ + 4 * 10² + 5 * 10¹ + 6 * 100. Všimněte si také, že pokud chceme zapsat číslo rovnající se základu, musíme přejít do vyššího řádu (2 binárně je 10), to samé platí pro mocniny základu (2² = 4, binárně 100; 2³ = 8, binárně 1000 atd.). Polyadické soustavy jsou tedy například dvojková (binární, základ 2), osmičková (oktalová, základ 8), šestnáctková (hexadecimální, základ 16) nebo nejpoužívanější desítková (dekadické, základ 10). Příkladem nepolyadické soustavy jsou třeba římská čísla. ===== Převody mezi soustavami ===== Přímo mezi nedesítkovými soustavami se převádí úplně stejně jako mezi desítkovou a ostatními. Problém je, že málokdo umí z hlavy počítat mocniny čísel v jiné než desítkové soustavě. ==== Z desítkové ==== Řekněme že budeme chtít převést číslo 1563 do dvojkové, a pak pro ukázku také do šestnáctkové soustavy. Nejsnažší metodou je postupné dělení: 1563 / 2 = 781,5 ⇒ 1 781 / 2 = 390,5 ⇒ 1 390 / 2 = 195,0 ⇒ 0 195 / 2 = 97,5 ⇒ 1 97 / 2 = 48,5 ⇒ 1 48 / 2 = 24,0 ⇒ 0 24 / 2 = 12,0 ⇒ 0 12 / 2 = 6,0 ⇒ 0 6 / 2 = 3,0 ⇒ 0 3 / 2 = 1,5 ⇒ 1 1 / 2 = 0,5 ⇒ 1 Výsledek pak přečteme odspodu: **11000011011** Postup je snad zřejmý: - Číslo vydělíme základem. - Zbytek po dělení se představíme jako zlomek //n///základ. 0,5 = ½. - Výše zmíněné //n// je tedy výsledná číslice. - S celočíselným výsledkem dělení pokračujeme od bodu 1. No jo, ale 1/16 je 0,0625, s tím už by se špatně počítalo. Další metodou je tedy postupné odčítání (což je stejně obdoba dělící metody): Nejdříve je potřeba zjistit kolik řádů bude mít výsledné číslo: 1 < 1563 16¹ = 16 < 1563 16² = 256 < 1563 16³ = 4096 > 1563 (To už je moc, budou nám tedy stačit 3 místa.) Teď budeme postupně dělit hodnotou jednotlivých řádů, a bude nás zajímat celočíselný výsledek dělení. Další krok provedeme se zbytkem po dělení: 1563 / 256 = 6, zbytek 27 27 / 16 = 1, zbytek 11 11 / 1 = B, zbytek 0 Výsledek jsou výsledky po dělení čtené zvrchu: **61B** === Desetinná čísla === Převod desetinných čísel je podobný. První číslice za desetinnou čárkou je v řádu B-1 (B je báze) atd. Příklad (z desítkové do dvojkové): 32,625 - 2^5 = 0,625 (1) 0,625 - 2^4 = 0,625 (0) 0,625 - 2^3 = 0,625 (0) 0,625 - 2^2 = 0,625 (0) 0,625 - 2^1 = 0,625 (0) 0,625 - 2^0 = 0,625 (0) desetinná čárka 0,625 - 2^-1 = 0,125 (1) 0,125 - 2^-2 = 0,125 (0) 0,125 - 2^-3 = 0 (1) Výsledek bude tedy 100000,101 ve dvojkové soustavě. Sepisuje se shora dolů. ==== Do desítkové ==== Využijeme toho, že jsou to polyadické soustavy. Zkusíme tedy převést 61B z šestnáctkové zpět: 61B = 6 * 16² + 1 * 16¹ + 11 * 160 = 6 * 256 + 1 * 16 + 11 * 1 = 1536 + 16 + 11 = **1563** ==== Z dvojkové do šestnáctkové ==== Převeďte ''10101010110000'' do šestnáctkové soustavy. - Rozsekáme si to po 4((16 = 2 na **čtvrtou**)) bitech: ''10 1010 1011 0000'' - A teď už metodou "kouknu, vidím" jednotlivé skupiny převedeme. - **2AB0** ===== Souhrn ===== * polyadické a nepolyadické * převod: obecně pro člověka náročný * převod z a do desítkové: ukázat, na jakémkoli hezkém čísle, zvolte si dobrou desetinnou část (třeba 0.5, wtz) * dvojková-šestnáctková - po čtyřech číslicích (protože 2^4 = 16) * pak už vážně nebude o čem mluvit