IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

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 Hardware


 

Všetky články v sekcii
Hardware
Článok pre vás napísal David Jančík
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor je vášnivý programátor. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.
Aktivity