Aritmetika v dvojkovej sústave: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
|||
(6 medziľahlých úprav od rovnakého používateľa nie je zobrazených.) | |||
Riadok 1: | Riadok 1: | ||
== Základné aritmeticko-logické operácie == | == 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 | 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 === | === Sčítanie === | ||
[https://www.khanacademy.org/math/algebra-home/alg-intro-to-algebra/algebra-alternate-number-bases/v/binary-addition Khan Academy video] | |||
Pre sčítanie dvoch binárnych čísel platia nasledujúce pravidlá: | Pre sčítanie dvoch binárnych čísel platia nasledujúce pravidlá: | ||
Riadok 43: | 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 ''''''<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 ''''''<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 57: | Riadok 59: | ||
</quiz> | </quiz> | ||
=== Násobenie === | === Násobenie === | ||
Riadok 76: | Riadok 77: | ||
<quiz | <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 86: | Riadok 87: | ||
{ 1100 0100|11000100 } | { 1100 0100|11000100 } | ||
{Vynásobte v dvojkovej sústave čísla '''53'''<sub>10</sub> a '''16'''<sub>10</sub>, predpokladajte 16-bitový register: | |||
|type="{}"} | |||
{ 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
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:
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)