9415 10 VII 8E H Číselné sústavy 752 8 10110010 2
Základné pojmy Číselná sústava je systém jednoznačných pravidiel pre zobrazenie číselných hodnôt pomocou konečného počtu znakov (číslic, cifier) Číslo je reprezentované v danej číselnej sústave postupnosťou číslic Číselnú sústavu charakterizuje z vonkajšieho pohľadu použitá množina znakov - číslic
Delenie číselných sústav Polyadické (pozičné) – význam číslice vždy závisí od jej pozície v zápise Pozičné sústavy sú napr. desiatková, osmičková, dvojková, šestnástková Nepolyadické (nepozičné) – význam číslice nemusí vždy závisieť od jej pozície v zápise Nepozičné sústavy sú napr. rímska alebo „pivná“ Vo výpočtovej technike sa používajú len pozičné sústavy
Prevody medzi číselnými sústavami V súvislosti s programovaním a výpočtovou technikou vôbec sa najčastejšie stretneme s číslami v sústave desiatkovej(dekadickej), osmičkovej(oktálovej), šestnástkovej(hexadecimálnej) a dvojkovej(binárnej) Preto sa ďalej budeme zaoberať prevodmi čísel: z desiatkovej sústavy do sústavy s iným základom zo sústavy s nedesiatkovým základom do desiatkovej sústavy medzi sústavami so základom rovným mocnine čísla 2 (praktický význam majú prevody medzi dvojkovou, osmičkovou a šestnástkovou sústavou)
Prevod celých čísel z desiatkovej sústavy do sústavy s iným základom Nech A je hľadané číslo a jeho jednotlivé cifry sú ai (i=0, …, n) Nech Nc je celé číslo v desiatkovej sústave Nech z je základ číselnej sústavy, do ktorej ideme prevádzať Potom ai = zvyšok po delení (Nci /z), kde Nci je celočíselný podiel Nci-1/z a Nc0=Nc
(39)10 = (100111)2 Príklad i Nci Nci+1 ai 39 39/2=19 39%2= 1 1 19 Preveďte číslo 39 z desiatkovej do dvojkovej sústavy. Dané: Nc=Nc0=39 z=2 A=? Vzťahy: ai = zvyšok po delení (Nci /z) Nci je celočíselný podiel Nci-1/z i Nci Nci+1 ai 39 39/2=19 39%2= 1 1 19 19/2=9 19%2= 1 2 9 9/2=4 9%2= 1 3 4 4/2=2 4%2= 0 2/2=1 2%2= 0 5 1/2=0 1%2= 1 V Ý Z N A M (39)10 = (100111)2
Prevod desatinných čísel z desiatkovej sústavy do sústavy s iným základom Nech A je desatinná časť čísla, ktorú hľadáme a jej jednotlivé cifry sú a-i (i=1, …, m) Nech Nd je desatinná časť čísla v desiatkovej sústave Nech z je základ číselnej sústavy, do ktorej ideme prevádzať Potom a-i = celá časť súčinu (Ndi*z) Ndi+1 = (Ndi*z)- ai Nd1=Nd
(0,3)10 = (0,010011...)2 Príklad i Ndi Ndi*z a-i Ndi+1 1 0,3 0,3*2=0,6 Preveďte číslo 0,3 z desiatkovej do dvojkovej sústavy s presnosťou na 6 desatinných miest. Dané: Nd=Nd1=0,3 z=2 A=? Vzťahy: ai=celá časť súčinu (Ndi*z) Ndi+1=(Ndi*z)- ai i Ndi Ndi*z a-i Ndi+1 1 0,3 0,3*2=0,6 0,6-0=0,6 2 0,6 0,6*2=1,2 1,2-1= 0,2 3 0,2 0,2*2=0,4 0,4-0=0,4 4 0,4 0,4*2=0,8 0,8-0=0,8 5 0,8 0,8*2=1,6 1,6-1=0,6 6 1,2-1=0,2 V Ý Z N A M (0,3)10 = (0,010011...)2
Prevod celých čísel zo sústavy s nedesiatkovým základom do desiatkovej sústavy Nech A je celé číslo v sústave s nedesiatkovým základom a jeho jednotlivé cifry sú ai (i=n,n-1,...0) Nech z je základ číselnej sústavy, z ktorej ideme prevádzať Nech Nc je hľadané číslo Potom Si = Si+1*z+ai Nc=S0 Sn+1=0 Alebo Hornerova schéma
(100111)2 = (39)10 Príklad i ai Si+1*z Si 5 1 0*2=0 0+1=1 4 1*2=2 Preveďte číslo 100111 z dvojkovej do desiatkovej sústavy. Dané: S6=0, z=2 a5=1,a4=0,a3=0, a2=1,a1=1,a0=1 Nc=S0=? Vzťahy: Si = Si+1*z+ai i ai Si+1*z Si 5 1 0*2=0 0+1=1 4 1*2=2 2+0=2 3 2*2=4 4+0=4 2 4*2=8 8+1=9 9*2=18 18+1=19 19*2=38 38+1=39 (100111)2 = (39)10
(100111)2 = (39)10 Príklad Riešenie: Preveďte číslo 100111 z dvojkovej do desiatkovej sústavy. Dané: z=2 a5=1,a4=0,a3=0, a2=1,a1=1,a0=1 Nc=? Vzťahy: Riešenie: Nc = a5*25 + a4*24 + a3*23 + a2*22 + a1*21 + a0*20 Nc = 1*32 + 0*16 + 0*8 + 1*4 + 1*2 + 1*1 Nc = 32 + 0 + 0 + 4 + 2 + 1 Nc = 39 (100111)2 = (39)10
Prevod desatinných čísel zo sústavy s nedesiatkovým základom do desiatkovej sústavy Nech A je desatinná časť čísla v sústave s nedesiatkovým základom a jej jednotlivé cifry sú ai (i=-1,-2,...-m) Nech z je základ číselnej sústavy, z ktorej ideme prevádzať Nech Nd je desatinná časť hľadaného čísla Potom S-i = S-i-1/z+a-i Nd=S-1/z S-m-1=0 Alebo
(0,010011)2 = (0,296875)10 Príklad Príklad: Preveďte číslo 0.010011 z dvojkovej do desiatkovej sústavy. Dané: S-7=0, z=2 a-6=1,a-5=1,a-4=0, a-3=0,a-2=1,a-1=0 Nd=S-1/z=? Vzťahy: S-i = S-i-1/z+a-i i a-i S-i-1/z S-i 6 1 0/2=0 0+1=1 5 1/2=0,5 0,5+1=1,5 4 1,5/2=0,75 0,75+0=0,75 3 0,75/2=0,375 0,375+0=0,375 2 0,375/2=0,1875 0,1875+1=1,1875 1,1857/2=0,59375 0,59375+0=0,59375 S-1/z =0,296875 (0,010011)2 = (0,296875)10
(0,010011)2 = (0,296875)10 Príklad Riešenie: Preveďte číslo 0.010011 z dvojkovej do desiatkovej sústavy. Dané: z=2 a-6=1,a-5=1,a-4=0, a-3=0,a-2=1,a-1=0 Nd=? Vzťahy: Riešenie: Nd = a-6*2-6 + a-5*2-5 + a-4*2-4 + + a-3*2-3 + a-2*2-2 + a-1*2-1 Nd = 1*0,015625 + 1*0,03125 + 0*0,0625 + + 0*0,125 + 1*0,25 + 0*0,5 Nd = 0,015625 + 0,03125 + 0 + + 0 + 0,25 + 0 Nd = 0,296875 (0,010011)2 = (0,296875)10
Prevod medzi sústavami so základom rovným mocnine čísla 2 Nech A je číslo v sústave, z ktorej ideme prevádzať a jeho cifry sú ai Nech P je číslo v sústave, do ktorej ideme prevádzať a jeho cifry sú pi Prevod medzi sústavami so základmi 2j a 2k
Prevod medzi sústavami so základmi 2j a 2k ak j=2 a k>2 Číslo A je v tvare anan-1...a1a0.a-1a-2...a-m Postup: K celej časti pridáme nuly zľava tak, aby počet číslic bol násobkom k K desatinnej časti pridáme nuly sprava tak, aby počet číslic bol násobkom k Z cifier ai vytvoríme k-tice, ktoré potom prevádzame na cifry pi
Príklad Príklad: Preveďťe číslo 1110011.1101 z dvojkovej do osmičkovej sústavy Riešenie: Základ dvojkovej sústavy je 2=21, teda j=1. Základ osmičkovej sústavy je 8=23, teda k=3. 1. K celej časti pridáme nuly zľava tak, aby počet číslic bol násobkom k. Počet číslic celej časti je 7. Najbližší násobok čísla 3 je 9. Teda celá časť čísla bude mať 9 číslic => 001110011 2. K desatinnej časti pridáme nuly sprava tak, aby počet číslic bol násobkom k. Počet číslic desatinnej časti je 4. Najbližší násobok čísla 3 je 6. Teda desatinná časť čísla bude mať 6 číslic => 110100
Príklad 3. Z cifier ai vytvoríme k-tice, ktoré potom prevádzame na cifry pi. Teda z cifier čísla 001110011.110100 vytvoríme trojice, ktoré potom prevádzame. 001 | 110 | 011 . 110 | 100 1 6 3 . 6 4 (1110011,1101)2 = (163,64)8
Prevod medzi sústavami so základmi 2j a 2k ak j>2 a k=2 Číslo A je v tvare anan-1...a1a0.a-1a-2...a-m Postup: Jednotilvé číslice ai prevádzame na j-tice
(1110011,1101)2 = (163,64)8 Príklad Príklad: Preveďťe číslo 163.64 z osmičkovej do dvojkovej sústavy Riešenie: Základ osmičkovej sústavy je 8=23, teda j=3. Základ dvojkovej sústavy je 2=21, teda k=1. 1. Jednotilvé číslice ai prevádzame na trojice 1 6 3 . 6 4 001 110 011 . 110 100 (1110011,1101)2 = (163,64)8
Prevod medzi sústavami so základmi 2i a 2j ak i>2 a j>2 Číslo A je v tvare anan-1...a1a0.a-1a-2...a-m Postup: Číslo A prevedieme do dvojkovej sústavy, podľa postupu prevodu medzi sústavami so základmi 2i a 2j ak i>2 a j=2 Nové A v dvojkovej sústave prevedieme podľa postupu prevodu medzi sústavami so základmi 2i a 2j ak i=2 a j>2