Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana (celkem 7) Polyadické - zobrazené mnohočlenem desítková soustava 3 2 532 = 5 + 3 + 2 + Číselné soustavy Číslice tvořící zápis čísla jsou vlastně koeficienty polynomu obsahujícího mocniny základu - v tomto případě je základ => desítková soustava. Obecně: základem soustavy může být libovolné přirozené číslo větší než. Zápis celého a desetinného čísla v soustavě o základu Z, obecné poznatky o číselných soustavách Pro zápis celého čísla platí: N = a m m 2 m Z + am 2Z +... + az + az m i= N i = a Z i pro Z 2, kde: Z základ, m počet řádových míst, a i koeficient 3 2 : 4863 = 4 + 8 + 6 + 3, kde m = 4 a z = Pro zápis desetinného čísla platí: N = a... m m 2 2 n m Z + am 2Z +... + az + az + a Z + a 2Z + a nz pro Z 2 kde: Z základ, m počet řádových míst, a i koeficient, n počet desetinných míst 2 : 25.52 = 2 + 5 + 5 + 2, kde m = 2 ; z = a n=2 Obecný zápis čísla: ( am am 2.. a a, a a 2. a n ) () 2, (35) 7, (455) 6, (247,637) 8 Z Kapacita soustavy: m K = Z Z=, m=3 K= možných čísel (..999) Největší hodnota soustavy: N = m MAX Z Z=, m=3 N MAX = 999 největší číslo desítkové soustavy na 3 řádová místa.
Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 2 (celkem 7) Významné soustavy: základ soustava 2 binární 8 oktalová 6 hexadecimální dekadická Zobrazení čísel v různých číselných soustavách Z= Z=2 Z=8 Z=6 5 5 5 2 A 5 7 F 2 24 4 V soustavách kde Z > je problém s jednoznačným zápisem čísel např. (2) 6 nevíme zda je tím myšleno () 6 a (2) 6, nebo (2) 6, tím pádem, může mít jeden zápis 2 různé významy, a to je nepřípustné. ( 2 ) 6 = 6 + 2 6 = ( 8) nebo ( 2 ) 6 2 6 = ( 2) =.???????? V takových případech zavádíme (u soustav kde Z >) pro zajištění jednoznačnosti zápisu další formy číslic- nejčastěji písmena. V případě hexadecimální soustavy (Z=6) zavedeme písmena A,B,C,D,E,F. Kde: Převody v soustavách Typy převodů: (A) 6 =() (D) 6 =(3) (B) 6 =() (E) 6 =(4) (C) 6 =(2) (F) 6 =(5) (N) X (N) (N) (N) X (N) X (N) (N) Y a) (N) X (N) - vyčíslením polynomu v desítkové soustavě 2 ( 324 ) 8 = 3 8 + 2 8 + 4 8 = 92 + 6 + 4 = ( 22) 5 4 3 2 2 = 2 + 2 + 2 + 2 + 2 + 2 = 32 + 6 + 4 + = 53 ( AC ) 6 = 6 + 2 6 = 6 + 2 = ( 72) ( ) ( )
Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 3 (celkem 7) Výsledky: a) (56) 8 a) (369) b) (ABBA) 6 b) (43962) c) () 2 c) (53) d) (3424) 8 d) (2564) e) (AB2C4) 6 e) (246) f) () 2 f) (87) b) (N) (N) X - postupným dělením základem, zbytky sepisujeme v opačném pořadí. : (25) (N) 2 (25) (N) 8 (87) (N) 6 25 : 2 =2 25 : 8 = 3 8 87 :6 = 6 2 : 2 = 6 3 : 8 = 3 = ( 3 ) 8 :6 = = ( B B ) 6 6 : 2 = 3 3 : 2 = 6 8 4 2 : 2 = = ( ) 2 U každého převodu z desítkové soustavy provádějte zkoušku výpočtu zpětným vyčíslením výsledku v desítkové soustavě. (postup viz a)) Výsledky: a) (67) (N) 2 a) () 2 b) (67) (N) 8 b) (3) 8 c) (36) (N) 6 c) (24) 6 c) (N) X (N) (N) Y ( ) 5 7 ( 222) 3 6 3 3 2 ( ) 5 = 5 = ( 25) ( 222) 3 = 2 3 + 3 + 2 3 + 2 3 = 2 27 + 9 + 6 + 2 = ( 7) ( 25) = ( 236) 7 ( 7) = ( 55) 6 25 : 7 = 7 6 7 : 6 = 5 7 : 7= 2 3 : 6= 5 2 : 7= 2 = (236) 7 : 6= = (55) 6 Výsledek: a) (34) 6 (N) (N) 8 a) (8) = (66) 8
Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 4 (celkem 7) Binární soustava počítače pracují na bázi binární soustavy. Ale pro svůj rozsáhlý zápis je binární soustava nepřehledná. Proto někdy pracujeme se soustavami odvozenými od binární. Např. Oktalová, Hexadecimální. (Připomenutí : 8=2 3 6=2 4 ) Pro rychlejší převod z binární do oktalové soustavy : - seskupíme v zápisu číslice do skupin po třech (začínáme zprava) a každou takto získanou trojici vyjádříme jako číslici v oktalové soustavě. () 2 =(N) 8 ( ) 2 = (34) 8 3 4 Tím, že oddělujeme trojice čísel, max. možná výsledná číslice v oktalové soustavě je 7, což vyhovuje definici této soustavy. Pokud nám při dělení binárního čísla na trojice číslic vlevo v poslední skupině zbývá méně než 3 číslice, můžeme skupinu beztrestně doplnit nulami vlevo do počtu 3 číslic. Při převodu z binární do hexadecimální soustavy postupujeme obdobně s tím rozdílem, že seskupujeme číslice po čtyřech.(začínáme opět zprava). () 2 =(N) 6 ( ) 2 = (2CC) 6 2 C C Opačně převádíme analogicky, ale musíme dát pozor na to, že: při převodu z oktalové do binární soustavy každá oktalová číslice odpovídá právě třem binárním při převodu z hexadecimální do binární soustavy každá hexad. číslice odpovídá právě čtyřem binárním (EF6) 6 = (N) 2 (EF6) 6 = ( ) 2!!! Každá hexadecimální číslice!!!!! E F 6 představuje právě 4 binární číslice - číslo 6 se dá v binární soustavě vyjádřit jako () 2, ale v tomto příkladě při převodu z hexad. soustavy je nutné ho vyjádřit jako () 2, abychom dodrželi 4 platné binární číslice pro jednu hexadecimální!!! () 2 (N) 8 () 2 (N) 6 (237) 8 (N) 2 (DCA2) 6 (N) 2 Převody desetinných čísel - převádíme celé číslo(viz nahoře) a zlomek. Zlomek - postupným násobením řádem základu a sepisujeme ve stejném pořadí - Ukončení násobení - výsledkem násobení základem je celé číslo - naleznu periodu ve výpočtu
Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 5 (celkem 7) (25,75) ( N) 2 (25) = () 2 (,75) = zbytek (25,75) = (,) 2,75 2 =,5,5 2 = = (,) 2 (25,75) (N) 8 (25) = (3) 2 (25,75) = (3,6) 8 (,75) = zbytek,75 8 = 6 6 = (,6) 8 (3,6) 8 (N) 3,6 = 3 8 + 8 + 6 8 ( ) 25, 75 8 = (, ) 2 (N) 8 (, ) 2 = (3,6) 8..trik se seskupováním číslic do skupin, v celé části čísla na levou 3 6 stranu zapíšu, aby nejlevější seskupení byla trojice, totéž udělám v desetinné části čísla na pravé straně - nuly připisuji do nejpravější skupiny -nezměním tak hodnotu čísla. Pozor! Připisování nul na pravou stranu bez změny hodnoty čísla je možné jen za desetinnou čárkou, před ní to nefunguje! Před desetinnou čárkou lze připisovat nuly na levou stranu. opět analogicky z binární do hexadecimální soustavy Výsledky: a) (2,26) 6 (N) a) (8,74492875) b) (,) 2 (N) 6 b) (B9,B) 6 c) (,) 2 (N) 8 c) (67,54) 8 Pozn. Narozdíl od matematiky musíme v programování každé číslo vyjadřovat pomocí konečného (omezeného) počtu číslic. Nelze tedy všechny hodnoty vyjádřit zcela přesně ale jen s konečnou přesností. Např. (,4) (N) 2,4 2 =,8,8 2 =,6,6 2 =,2 (,4) = (,) 2,2 2 =,4,4 2 =,8 (,) 2=(,375) tj. Chyba při převodu je (,25),8 2 =,6 (,) 2=(,3984) tj. Chyba při převodu je (,6)...atd. výpočet vede na periodické číslo binární číslo by mělo nekonečně mnoho číslic za desetinnou čárkou- opakující se perioda (toto je příklad, kdy vyjádření téhož čísla v jedné soustavě pomocí konečného počtu číslic může převodem do jiné soustavy nabýt nekonečně mnoha číslic).
Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 6 (celkem 7) Základní aritmetické operace a) sčítání (vždy v dané soustavě: dekadické, oktalové, ) sestavujeme tabulky přenosů např. pro binární soustavu: +!!!!!! Při sčítání a v binární soustavě je výsledkem!!! jednička se přenáší do vyššího levějšího řádu stejný systém jako přenášení v desítkové soustavě při sčítání. (36) () 2 (44) 8 (24) 6 (,) 2 (28) () 2 (34) 8 (C) 6 (,) 2 (64) () 2 () 8 (4) 6 (,) 2 pozor na přenosy do vyšších(levějších) řádů. Výsledky a) () 2 + () 2 a) () 2 b) () 2 +() 2 b) () 2 c) (7432) 8 +(625) 8 c) (7546) 8 d) (AB2) 6 +(F3E4) 6 d) (9596) 6 b) odečítání - převádíme na sčítání s doplňkem (tj. k menšenci přičítáme doplněk menšitele do N max ) m Pro doplněk platí: D = ( Z ) X Kde: m počet míst menšence X menšitel Z základ soustavy (385)...menšenec Doplněk (68) do (999) = (93) -(68)...menšitel (N) (93) doplněk +(385) menšenec 36 + kruhový přenos (37)
Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 7 (celkem 7) (34) 8 Doplněk (6) 8 do (77) 8 = (6) 8 -(6) 8 (N) 8 (6) 8 doplněk +(34) 8 menšenec 5 + kruhový přenos (6) 8 (24) 6 Doplněk (C) 6 do (FF) 6 = (E3) 6 -(C) 6 (N) 6 (E3) 6 doplněk +(24) 6 menšenec 7 + kruhový přenos (8) 6 Výsledky a) (364) 8 - (72) 8 a) (72) 8 b) (C6) 6 - (A3) 6 b) (23) 6