Sčítanie a odčítanie v dvojkovej sústave

  • Informatika
  • binárne sčítanie
  • binárne odčítanie
  • dvojkový doplnok
  • pretečenie overflow
  • číselné sústavy maturita
  • dvojková sústava rozbor

Podcast

Sčítanie a odčítanie binárnych čísel0:00 / 10:49
0:001:00 zostáva

Dvojková sústava, známa aj ako binárna sústava, je základom všetkých moderných digitálnych počítačov a elektronických zariadení. Používa iba dve číslice: 0 a 1. Pre študentov informatiky a digitálnej techniky je pochopenie aritmetických operácií v dvojkovej sústave kľúčové. Tento článok prináša rozbor sčítania a odčítania v dvojkovej sústave, ktoré sú základom pre zložitejšie výpočty.

Sčítanie binárnych čísel a odčítanie v dvojkovej sústave

Sčítanie binárnych čísel je podobné sčítaniu v desiatkovej sústave, avšak s menším počtom číslic. Operácia sa vykonáva stĺpcovou metódou, začínajúc od najmenej významného bitu (najpravejšej číslice) a postupujúc smerom doľava. Ak súčet v danom stĺpci prekročí 1, nastane tzv. prenos (carry) do nasledujúceho vyššieho rádu.

Základné pravidlá pre sčítanie dvoch binárnych číslic sú:

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 10₂ (čo znamená 0 a prenos 1 do vyššieho rádu)
  • 1 + 1 + 1 = 11₂ (čo znamená 1 a prenos 1 do vyššieho rádu, ak sčítame tri jednotky)

Príklad sčítania binárnych čísel

Sčítajme binárne čísla 1011₂ (čo je 11 v desiatkovej sústave) a 1101₂ (čo je 13 v desiatkovej sústave).

 1011₂
+ 1101₂
-------

Postupujeme sprava doľava:

  1. Najpravejší stĺpec: 1 + 1 = 10₂. Zapíšeme 0 a prenesieme 1.
  2. Druhý stĺpec sprava: 1 (prenos) + 1 + 0 = 10₂. Zapíšeme 0 a prenesieme 1.
  3. Tretí stĺpec sprava: 1 (prenos) + 0 + 1 = 10₂. Zapíšeme 0 a prenesieme 1.
  4. Štvrtý stĺpec sprava: 1 (prenos) + 1 + 1 = 11₂. Zapíšeme 1 a prenesieme 1.

Výsledok je 11000₂. Pre kontrolu, 11 + 13 = 24 v desiatkovej sústave, a 11000₂ = 24.

Pretečenie (Overflow) pri sčítaní

Počítače pracujú s číslami s pevnou dĺžkou bitov (napríklad 8-bitové). Ak výsledok aritmetickej operácie prekročí maximálnu hodnotu, ktorú môže daný počet bitov reprezentovať, nastane pretečenie (overflow). To znamená, že najvýznamnejší prenos (carry out) z posledného stĺpca sa stratí.

Napríklad, pre 8-bitové nepodpísané čísla je maximálna hodnota 2⁸ - 1 = 255. Ak sčítame 150 (10010110₂) a 120 (01111000₂):

 ¹¹¹¹¹¹
 10010110₂ (150)
+ 01111000₂ (120)
-----------
100001110₂

Výsledok má 9 bitov. V 8-bitovom registri by sa najľavejší bit stratil. Skutočný súčet je 270. V 8-bitovom registri by sa uložilo len 00001110₂, čo je 14 v desiatkovej sústave. Simulácia sčítania jasne indikuje stav pretečenia, čo umožňuje študentom experimentovať a vidieť dopad na výsledok.

Over si, čo už vieš

Test · 20 otázok · prvé 3 zadarmo

Otázka 1 z 30%

Dvojkový doplnok čísla sa získa pripočítaním 1 k jeho jednotkovému doplnku.

Precvič si to na kartičkách

14 kartičiek · prvé 3 zadarmo bez účtu

1 / 14

Aké sú základné číslice, ktoré používa dvojková sústava?

0 a 1

Ťukni na otočenie · Potiahni na navigáciu

Odčítanie binárnych čísel pomocou dvojkového doplnku

Priame odčítanie binárnych čísel je zložité. V digitálnych systémoch sa odčítanie často realizuje pomocou sčítania s tzv. dvojkovým doplnkom (two's complement). Táto metóda umožňuje previesť odčítanie na sčítanie, čo zjednodušuje návrh hardvéru.

Postup pre odčítanie A - B pomocou dvojkového doplnku:

  1. Nájdite jednotkový doplnok (one's complement) čísla B: Invertujte všetky bity čísla B (0 sa zmení na 1, 1 na 0).
  2. Nájdite dvojkový doplnok čísla B: K jednotkovému doplnku čísla B pripočítajte 1.
  3. Pripočítajte dvojkový doplnok čísla B k číslu A: A + (dvojkový doplnok B).
  4. Interpretujte výsledok:
  • Ak vznikne prenos z najvýznamnejšieho bitu (carry out), tento prenos sa ignoruje. Výsledok je kladný a je priamo výsledkom odčítania.
  • Ak prenos z najvýznamnejšieho bitu nevznikne, výsledok je záporný. Pre získanie skutočnej hodnoty je potrebné nájsť dvojkový doplnok výsledku a pred neho pridať znamienko mínus.

Príklad odčítania: 13 - 6 v dvojkovej sústave

Odčítajme 13 - 6 v 8-bitovom formáte (13 desiatkovo = 00001101₂; 6 desiatkovo = 00000110₂).

  1. Číslo A: 00001101₂ (13)
  2. Číslo B: 00000110₂ (6)

Krok 1: Nájdite jednotkový doplnok čísla B (00000110₂): Invertovaním bitov dostaneme 11111001₂.

Krok 2: Nájdite dvojkový doplnok čísla B: K 11111001₂ pripočítame 1: 11111001₂ + 00000001₂ = 11111010₂.

Krok 3: Pripočítajte dvojkový doplnok čísla B k číslu A:

 ¹¹¹¹¹
 00001101₂ (13)
+ 11111010₂ (dvojkový doplnok 6)
-----------
100000111₂

Krok 4: Interpretujte výsledok: Vznikol prenos z najvýznamnejšieho bitu (najľavejšia 1). Tento prenos ignorujeme. Zostávajúci 8-bitový výsledok je 00000111₂. Prevodom na desiatkovú sústavu dostaneme 7. To je správny výsledok pre 13 - 6 = 7.

Príklad odčítania s negatívnym výsledkom: 6 - 13

Odčítajme 6 - 13 v 8-bitovom formáte (6 desiatkovo = 00000110₂; 13 desiatkovo = 00001101₂).

  1. Číslo A: 00000110₂ (6)
  2. Číslo B: 00001101₂ (13)

Krok 1: Nájdite jednotkový doplnok čísla B (00001101₂): Invertovaním bitov dostaneme 11110010₂.

Krok 2: Nájdite dvojkový doplnok čísla B: K 11110010₂ pripočítame 1: 11110010₂ + 00000001₂ = 11110011₂.

Krok 3: Pripočítajte dvojkový doplnok čísla B k číslu A:

 ¹¹
 00000110₂ (6)
+ 11110011₂ (dvojkový doplnok 13)
-----------
11111001₂

Krok 4: Interpretujte výsledok: Nevznikol prenos z najvýznamnejšieho bitu. To znamená, že výsledok je záporný. Pre získanie skutočnej hodnoty musíme nájsť dvojkový doplnok výsledku 11111001₂.

  • Jednotkový doplnok 11111001₂ je 00000110₂.
  • Dvojkový doplnok je 00000110₂ + 1 = 00000111₂.

Výsledok je -00000111₂, čo je -7 v desiatkovej sústave. To je správny výsledok pre 6 - 13 = -7.

Bežné chyby a nedorozumenia pri binárnej aritmetike

Pri sčítaní a odčítaní v dvojkovej sústave sa študenti často stretávajú s niekoľkými bežnými chybami:

  • Zámena desiatkovej a dvojkovej sústavy: Chyby nastávajú pri prenosoch, napríklad 1 + 1 = 10₂ a nie 2.
  • Nesprávne spracovanie prenosov: Chyba v jednom stĺpci sa prenesie do celého výsledku.
  • Nepochopenie pretečenia (overflow): Pretečenie nie je len matematická chyba, ale reálny problém v počítačových systémoch, ktorý môže viesť k nesprávnym výsledkom. Je dôležité rozlišovať medzi prenosom (carry) a pretečením (overflow).
  • Chyby pri výpočte dvojkového doplnku: Nesprávne invertovanie bitov alebo zabudnutie pripočítať 1 sú časté zdroje chýb.
  • Zabudnutie na znamienko pri odčítaní: Ak pri odčítaní pomocou dvojkového doplnku nevznikne prenos, výsledok je záporný a vyžaduje ďalšiu konverziu.

Interakcia so simuláciou pre lepšie pochopenie

Interaktívna simulácia sčítania 8-bitových binárnych čísel poskytuje praktickú skúsenosť s týmito konceptmi. Študenti môžu zadávať ľubovoľné 8-bitové binárne čísla a pozorovať, ako prebieha sčítanie krok za krokom. Simulácia vizualizuje prenosy (carries), ukazuje kedy a ako sa generujú a šíria, a zobrazuje finálny 8-bitový súčet. Umožňuje tiež experimentovať s rôznymi číslami a vidieť, kedy dochádza k pretečeniu a aký je jeho dopad. To pomáha pochopiť, ako počítače vykonávajú základné aritmetické operácie a prečo je dôležité brať do úvahy obmedzenú dĺžku bitov.

FAQ – Často kladené otázky k binárnej aritmetike

Ako funguje prenos (carry) pri sčítaní v dvojkovej sústave?

Prenos (carry) funguje podobne ako v desiatkovej sústave. Keď je súčet dvoch bitov 10₂ (teda 2 v desiatkovej sústave), zapíše sa 0 a 1 sa prenesie do vyššieho rádu (nasledujúceho stĺpca). Tento prenesený bit sa potom pripočíta k bitom v tomto vyššom ráde.

Aký je rozdiel medzi prenosom (carry) a pretečením (overflow)?

Prenos (carry) je bežná súčasť sčítania, keď súčet v danom bitovom stĺpci prekročí maximálnu hodnotu (1). Pretečenie (overflow) nastane, keď výsledok celej aritmetickej operácie prekročí maximálnu hodnotu, ktorú môže reprezentovať daný počet bitov (napr. 8-bitový register), čo vedie k strate najvýznamnejšieho bitu a nesprávnemu výsledku.

Prečo sa pri odčítaní používa dvojkový doplnok?

Dvojkový doplnok sa používa na zjednodušenie odčítania v digitálnych systémoch. Umožňuje previesť odčítanie na sčítanie, takže ten istý hardvérový obvod môže vykonávať obe operácie (sčítanie aj odčítanie). To šetrí náklady a zložitosť návrhu hardvéru.

Ako zistím, či je výsledok odčítania pomocou dvojkového doplnku záporný?

Po pripočítaní dvojkového doplnku menšiteľa k menšencovi skontrolujte, či vznikol prenos z najvýznamnejšieho bitu. Ak áno, výsledok je kladný. Ak prenos nevznikol, výsledok je záporný. Pre jeho správnu hodnotu je potrebné výsledok opäť doplniť dvojkovým doplnkom a pridať znamienko mínus.

Precvič si to, nielen prečítaj

14 kartičiek, test s vysvetlením a podcast k tejto téme. Účet je zadarmo a pokračuješ tam, kde si skončil.

  • Bez platobnej karty
  • Web aj mobilná aplikácia
  • 330 000+ študentov
Začni zadarmo

Súvisiace témy