Uživatelské nástroje

Nástroje pro tento web


pitel:isz:ciselne_soustavy

Čí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ý:

  1. Číslo vydělíme základem.
  2. Zbytek po dělení se představíme jako zlomek n/základ. 0,5 = ½.
  3. Výše zmíněné n je tedy výsledná číslice.
  4. 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.

  1. Rozsekáme si to po 41) bitech: 10 1010 1011 0000
  2. A teď už metodou „kouknu, vidím“ jednotlivé skupiny převedeme.
  3. 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
1)
16 = 2 na čtvrtou
/var/www/wiki/data/pages/pitel/isz/ciselne_soustavy.txt · Poslední úprava: 30. 12. 2022, 13.43:01 autor: 127.0.0.1