Operácie

Aritmetika v dvojkovej sústave: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Balogh (diskusia | príspevky)
 
(2 medziľahlé úpravy od rovnakého používateľa nie sú zobrazené.)
Riadok 45: Riadok 45:
{ 111110 }
{ 111110 }


{Spočítajte v dvojkovej sústave čísla '''250'''<sub>10</sub>  a '''10'''<sub>10</sub>, predpokladajte 8-bitový register:
{Spočítajte v dvojkovej sústave čísla '''250'''<sub>10</sub>  a '''10'''<sub>10</sub>, predpokladajte 8-bitový register len pre kladné čísla:
|type="{}"}
|type="{}"}
{ 00000100|0000 0100 }
{ 00000100|0000 0100 }


{Spočítajte v dvojkovej sústave čísla '''88'''<sub>10</sub>  a '''-30'''<sub>10</sub>
{Spočítajte v dvojkovej sústave čísla '''88'''<sub>10</sub>  a '''-30'''<sub>10</sub>, predpokladajte 8-bitový register:
|type="{}"}
|type="{}"}
{ 111010|0011 1010|00111010 }
{ 111010|0011 1010|00111010 }


{Vypočítajte v dvojkovej sústave rozdiel čísel '''15'''<sub>10</sub>  a '''27'''<sub>10</sub>
{Vypočítajte v dvojkovej sústave rozdiel čísel '''15'''<sub>10</sub>  a '''27'''<sub>10</sub>, predpokladajte 8-bitový register:
|type="{}"}
|type="{}"}
{ 11110100|1111 0100 }
{ 11110100|1111 0100 }
Riadok 77: Riadok 77:




<quiz shuffleanswers=true display=simple>
<quiz display=simple>


{Vynásobte v dvojkovej sústave čísla '''17'''<sub>10</sub>  a '''5'''<sub>10</sub>
{Vynásobte v dvojkovej sústave čísla '''17'''<sub>10</sub>  a '''5'''<sub>10</sub>
Riadok 90: Riadok 90:
|type="{}"}
|type="{}"}
{ 1101010000|11 0101 0000 }
{ 1101010000|11 0101 0000 }
</quiz>
</quiz>




[[Category: Základy počítačov]]
[[Category: Základy počítačov]]

Aktuálna revízia z 07:08, 28. september 2017

Základné aritmeticko-logické operácie

Aritmeticko-logické operácie sa väčšinou vykonávajú v artitmeticko-logickej jednotke (ALJ) ( Arithmetics and Logic Unit (ALU)), ktorá je súčasťou centrálnej procesorovej jednotky (Central Processing Unit - CPU ). Pri aritmetických operáciach s obmedzenou dĺžkou slova (8-, 16-, 32-bitové slovo) je potrebné sledovať, či sa výsledok nenachádza mimo rozsah, t.j. či nedošlo ku tzv. pretečeniu (overflow).

Sčítanie

Khan Academy video

Pre sčítanie dvoch binárnych čísel platia nasledujúce pravidlá:

   0 + 0 =   0

   0 + 1 =   1

   1 + 0 =   1

   1 + 1 = 1 0 
           ↓
           CY: prenos do vyššsieho rádu (Carry)

Príklad 1

    0 0 1 0 0                    4
 +  0 0 1 1 0                  + 6
   ______________              ____
    0 1 0 1 0                   10
 

Prenos (carry) sa vždy jednoducho pripočíta k číslici vo vyššom ráde. Ak máme obmedzenú dĺžku slova (8-bit, 16-bit, 32-bit) tak posledný prenos už nie je kam pripočítať a dôjde k tzv. pretečeniu (overflow).

Odčítanie

Pre odčítanie dvoch binárnych čísel sa používa pripočítanie čísla s opačným znamienkom v doplnkovom kóde.


Príklady na precvičenie:

1 Spočítajte v dvojkovej sústave čísla 2710 a 3510

2 Spočítajte v dvojkovej sústave čísla 25010 a 1010, predpokladajte 8-bitový register len pre kladné čísla:

3 Spočítajte v dvojkovej sústave čísla 8810 a -3010, predpokladajte 8-bitový register:

4 Vypočítajte v dvojkovej sústave rozdiel čísel 1510 a 2710, predpokladajte 8-bitový register:


Násobenie

Príklad 2

Vypočítame súčin 3 x 6 v dvojkovej sústave:

    0 1 1     (3)
    1 1 0     (6)
  ________    
    0 0 0
  0 1 1
0 1 1
___________
1 0 0 1 0    (18)


1 Vynásobte v dvojkovej sústave čísla 1710 a 510

2 Vynásobte v dvojkovej sústave čísla 25010 a 1010, predpokladajte 8-bitový register:

3 Vynásobte v dvojkovej sústave čísla 5310 a 1610, predpokladajte 16-bitový register: