Prevody medzi sústavami a matematické operácie s binárnymi číslami
Skratky: * a-rozsah, z-základ
Dvojková (Binárne) číselná sústava
a = 0; 1
z = 2
Osmičková (oktánové) sústava
a = 0-7
z = 8
Desiatková (dekadické) sústava
a = 0-9
z = 10
Šestnácková (Hex) sústava
a = 0-9; AF
z = 16
predpony
kilo 1kB = 1024B
Mega 1MB = 1024kB
Giga 1GB = 1024MB
Tera 1TB = 1024GB
Prevody celých čísel z desiatkovej čís. sústavy do dvojkovej a naopak
Číslo z desiatkovej sústavy do ľubovoľnej sústavy prevedieme tak, že postupne delíme desiatkové číslo základom nové číslo. sústavy a spisujeme zvyšky. Posledný zvyšok je nejvyššířád v nové číslo. sústave
Pr.
53D|:2 26 | 1 /\ 13 | 0 | 6 | 1 | 3 | 0 | 1 | 1 | 0 | 1 | 53D == 110101B
spätný prevod
Pri prevode z binárne do desiatkovej sústavy násobíme jednotlivé čísla od zadu číslom vždy 2x väčším ako je predchádzajúca počnúc jednotkou tzn. 1,2,4,8,16,32 ...
1*32 + 1*16 + 0*8 + 1*4 + 0*2 + 1*1 == 32 + 16 + 4 + 1 == 53D
Prevod reálnych čísel (desatinné časti)
Prevádzané desiatkovej číslo ostupně násobíme dvojkou celá časť výsledku je prvou číslicou prevedeného čísla zvyšok za rádovou čiarkou násobíme znova dvojkou.
Pr.
0,|333D *2 | 0 |666 | 1 |332 | 0 |664 | 1 |328 | 0 |656 \/ 1 |312 ......... 0,010101B
Prevod z desiatkovej do osmičkové a naopak
535O
Skladáme váhy, ktoré keď sčítame dajú maximálnu číslo v danej sústave tzn. 1,2,4 (1 + 2 + 4 = 7) - to isté ako v predchádzajúcom príklade len s obmedzením na 'chlívečky'
4 2 1 | 4 2 1 | 4 2 1 --------------------- 1 0 1 | 0 1 1 | 1 0 1 (4*1 + 2*0 + 1*1 = 5 | 4*0 + 2*1 + 1*1 = 3 | 4*1 + 2*0 + 1*1 = 5 > 535O) == 101011101B Zpětný převod 4 2 1 | 4 2 1 | 4 2 1 --------------------- 1 0 1 | 0 1 1 | 1 0 1 4*1 + 2*0 + 1*1 = 5 | 4*0 + 2*1 + 1*1 = 3 | 4*1 + 2*0 + 1*1 = 5 > 535O
Prevod z desiatkovej do šestnástkovej sústavy
Skladáme váhy, ktoré keď sčítame dajú maximálnu číslo v danej sústave tzn. 1,2,4,8 (1 + 2 + 4 + 8 = 15)
AB7H - musíte si uvedomiť čo sú tie písmená A = 10, B = 11, C = 12 ... F = 15
8 4 2 1 | 8 4 2 1 | 8 4 2 1 1 0 1 0 | 1 0 1 1 | 0 1 1 1 (8*1 + 4*0 + 2*1 + 1*0 = 10(A) | 8*1 + 4*0 + 2*1 + 1*1 = 11(B) | 8*0 + 4*1 + 2*1 + 1*1 = 7 > AB7H) == 101010110111B Zpětný převod je snad jasný :)
Vzájomný prevod medzi šestníctkovou a osmičkovú sústavou
7345O 4 2 1 | 4 2 1 | 4 2 1 | 4 2 1 1 1 1 | 0 1 1 | 1 0 0 | 1 0 1 Teď přehodíme váhy 4 2 1 4 | 2 1 4 2 | 1 4 2 1 --------------------------- 1 1 1 0 | 1 1 1 0 | 0 1 0 1 --------------------------- 8 4 2 1 | 8 4 2 1 | 8 4 2 1 A teď to zase posčítáme podle nových vah 8*1 + 4*1 + 2*1 + 1*0 = 14(E) | 8*1 + 4*1 + 2*1 + 1*0 = 14(E) | 8*0 + 4*1 + 2*0 + 1*1 = 5 > **EE5H** Zpáteční postup je stejný 8 4 2 1 | 8 4 2 1 | 8 4 2 1 --------------------------- 1 1 1 0 | 1 1 1 0 | 0 1 0 1 --------------------------- 4 2 1 4 | 2 1 4 2 | 1 4 2 1 Vrátíme váhy 4 2 1 | 4 2 1 | 4 2 1 --------------------- 1 0 1 | 0 1 1 | 1 0 1
kódy
- kód je prepis pre jednoznačné priradenie určité kombinácie bitov príslušnému znaku
- kódové slovo je kombinácia bitov zobrazujúci znak
- kódovanie je priraďovanie kódových slov k určitým znakom používa sa k tomu generátor kódov
kódy používané pre strojové operácie
- priamy dvojkový kód (+) Znamienkový bit 0
(-) znamienkový bit 1
- dvojkový doplnkový kód - používa sa pre záporné čísla znamienkový
bit -> 1
- 45D = 0 (+) | 0101101 (7bit) B
dvojkový doplnok vyjadríme tak, že vzájomne zameníme jedničky za nuly a nuly za jednotky a k poriadku čísla pripočítame jedničku
0101101 1010010 + 1 ------- (-45)1010011B
kódy pre skrátenie zápisu binárnych čísel osmičkový, šestnástkový
BCD kód (váhy 8,4,2,1)
- binárne kódované desiatkové číslo
- každá desiatková číslica je nahradená štyrmi bity dvojkovej sústavy, číslo v BCD kóde musí mať počet bitov deliteľný štyrmi
Aikenův kód (váhy 2,4,2,1)
- platí, že desiatkovej číslice 0 až 4 majú vo štvrtom bitu nulu a číslice 5 až 9 tam majú jedničku
Príklad: 5 D == 0101 BCD == 1011 Aiken
kód KZN
- k -> počet jedničiek
- n -> dĺžka slová (počet bitov)
Pr .: 2z5 môže napríklad byť 10100
ASCII kód
- slúži pre uloženie znakov v počítači
- 1 znak zaberá jeden Bajt
- tabuľka obsahuje 256znaků
0-dolná časť tabuľky 0-31
- Prvých 32znaků sú znaky riadiace (netlačiteľné)
32-127
- sú bežná interpunkčné a matematická znamienka číslice a veľké a malé anglická abeceda
1-horná časť tabuľky 128-255
- sú špeciálne grafické symboly a znaky národných abecied kód
kamenických (Kam)
kód Latin2 (PCLat)
kód stránka PC 1250 (win)
- kód kamenických (Kam)
- kód Latin2 (PCLat)
- kód stránka PC 1250 (win)
unicode
- jeden nak v dvoch bajtov
2 15 = 65 536 znakov
Aritmetické operácie v dvojkovom kóde V procesora sa všetky operácie vykonáva alebo prevádza na operáciu sčítanie
Sčítání ======= 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 10 Př.: 10101100 +11010111 -------- 110000011 ========= Odčítání ======== - v procesoru se operace odčítání převádí na funkce sčítání - menšitel se převede do doplňkového kódu a potom se přičte k menšenci 0-0 = 0 10-1 = 1 1-0 = 1 1-1 = 0 Př. 11001100 -10101101 => 01010010 -------- | + 1 11001100 | -------- 01010011 | 01010011 ------- | ======== (1)00100011 -> pokud přesáhnu u *odčítání* rozsah čísel (8bitů) jednička se škrtá => (X)00100011
Stručne