Dvojková číselná sústava
Dvojková číselná sústava, novšie tiež binárna číselná sústava (z lat. bis – dvakrát) je číselná sústava, ktorá zapisuje hodnoty pomocou dvoch symbolov 0 a 1. Konkrétnejšie hovoríme o pozičnej číselnej sústave so základom dva. Vďaka jednoduchej implementácii v elektronických obvodoch (vypnuté a zapnuté) používajú dvojkovú sústavu prakticky všetky súčasné číslicové počítače. Jednotlivé cifry (0, 1) sa nazývajú bit, čo je základná jednotka informácie.
DEC | BIN |
---|---|
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
9 | 1001 |
10 | 1010 |
Prevod hodnôt
Na prevod z jednej sústavy do inej možno použiť jednu z nasledovných metód:
- substitučná metóda,
- metóda delenia základom,
- metóda násobenia základom.
Z binárnej do desiatkovej sústavy (substitučná metóda)
Ak máme zadané číslo v dvojkovej sústave pomocou číslic x0, x1... xk potom jeho hodnotu v desiatkovej sústave získame tak, že číslo rozpíšeme v dvojkovej sústave na polynóm a potom ho vyčíslime v desiatkovej:
Príklad:
(11010110)B = 1 · 27 + 1 · 26 + 0 · 25 + 1 · 24 + 0 · 23 + 1 · 22 + 1 · 21 + 0 · 20 =
= 1 · 128 + 1 · 64 + 0 · 32 + 1 · 16 + 0 · 8 + 1 · 4 + 1 · 2 + 0 · 1 = 128 + 64 + 16 + 4 + 2 = 214
Číslo 11010110 v dvojkovej sústave je 214 v desiatkovej sústave (stačí sčítať tie sčítance, ktoré sú násobené 1).
Z desiatkovej do binárnej sústavy (metóda delenia základom)
Ak chceme previesť číslo z desiatkovej sústavy do dvojkovej sústavy, musíme číslo deliť základom sústavy – číslom 2, až pokiaľ nedostaneme podiel rovný nule. Po každom delení zapíšeme zvyšok, pričom zvyšok po prvom delení je cifra najnižšieho (nultého) rádu, zvyšok po druhom delení udáva cifru prvého rádu atď.
Príklad:
215 : 2 = 107; zv. 1
107 : 2 = 53; zv. 1
53 : 2 = 26; zv. 1
26 : 2 = 13; zv. 0
13 : 2 = 6; zv. 1
6 : 2 = 3; zv. 0
3 : 2 = 1; zv. 1
1 : 2 = 0; zv. 1
Číslo 215 v desiatkovej sústave je 11010111 (zvyšky zapísané v poradí zdola hore) v binárnej sústave.
Z desiatkovej do binárnej sústavy (metóda násobenia základom)
Ak chceme číslo zapísané v desiatkovej sústave vyjadriť v dvojkovej sústave, rozložíme ho na súčet postupne znižujúcich sa mocnín dvojky a číslicou 1 alebo 0 zaznamenáme ich výskyt alebo absenciu. Napríklad pri čísle 215 postupujeme takto:
- Nájdeme najväčšiu mocninu dvojky, ktorá sa v čísle nachádza: 27 = 128 (28 je 256, čo je už viac ako 215). Zapíšeme 1.
- Potom od čísla 215 odčítame 128 a zisťujeme, či je rozdiel väčší ako najbližšia nižšia mocnina dvoch 26 = 64; 215 – 128 = 87. Je. Výskyt zase zapíšeme ako 1.
- Ďalej zisťujeme, či sa v čísle 87 – 64 = 23 vyskytuje 25 = 32. Keďže 32 je väčšie ako 23, v tom prípade napíšeme 0.
- Takto pokračujeme až po 20 = 1. Výsledkom je zápis v poradí v ako sme ho dostali: 110...
Príklad:
215 = 128 + 64 + 0 + 16 + 0 + 4 + 2 + 1 =
= 1 · 27 + 1 · 26 + 0 · 25 + 1 · 24 + 0 · 23 + 1 · 22 + 1 · 21 + 1 · 20 = 11010111
Číslo 215 v desiatkovej sústave je 11010111 v binárnej sústave.
Zápis negatívnych čísel
V dvojkovej číselnej sústave môžeme negatívne čísla zapísať tromi spôsobmi: priamym kódom, inverzným kódom a doplnkom.[1]
Zápis negatívnych čísel priamym kódom
Zápis priamym kódom znamená, že znak + alebo – vložíme priamo do kódu čísla, ktoré zapisujeme. Prvý bit čísla, ktoré zapisujeme teda dostane hodnotu podľa toho, či je číslo kladné alebo záporné. 0 na začiatku čísla znamená, že bude kladné a 1 znamená, že bude záporné. Táto metóda má svoju nevýhodu v tom, že hodnota, ktorú môžeme vyjadriť n-počtom bitov sa zmenší, keďže jeden bit používame na znamienko. Bez znamienka môžeme vyjadriť hodnoty od 0 po 2n-1, priamym zápisom môžeme vyjadriť interval od -2n-1 po 2n-1.[2]
Zápis negatívnych čísel inverzným kódom
Zápis inverzným kódom nadväzuje na zápis priamym kódom, ale rieši problém nižších hodnôt. Prvý bit stále vyjadruje znamienko čísla, ale zároveň má stále svoju číselnú hodnotu. Takže prvý bit čísla s n bitmi má hodnotu -(2n-1-1). [1]
0 | 0000 | -0 | 1111 |
+1 | 0001 | -1 | 1110 |
+2 | 0010 | -2 | 1101 |
+3 | 0011 | -3 | 1100 |
+4 | 0100 | -4 | 1011 |
+5 | 0101 | -5 | 1010 |
+6 | 0110 | -6 | 1001 |
+7 | 0111 | -7 | 1000 |
Zápis negatívnych čísel doplnkom
Tento zápis vyžaduje najviac krokov, ale je veľmi často používaný a je veľmi výhodný pri aritmetických operáciách s binárnymi číslami. Tak isto ako ostatné zápisy, podľa prvého bitu rýchlo zistíme, či je číslo kladné alebo záporné ale k celému číslu sa dostaneme tromi základnými krokmi. V príklade uvediem zápis čísla -28 dvojkovým dodatkom.[3]
1) Zapíšeme číslo v dvojkovej sústave.
2) Číslo znegujeme. Jednotky prepíšeme na nuly a nuly na jednotky.
3) Pripočítame 1.
Aritmetické operácie
V dvojkovej sústave používame základné operácie, ako v desiatkovej: sčítanie, odčítanie, násobenie a delenie.
Sčítanie
Keďže v dvojkovej sústave pracujeme len s číslicami 0 a 1, existujú len 4 základné operácie sčítania.
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10 (0 a 1 mi zostala)
Sčítaním 1 a 1 vznikne 0 a 1 sa prenesie do ďalšieho stĺpca. Tak isto, ako keď pri sčítaní v desiatkovej sústave prekročíme desať a zostane mi jeden. [4]
V tomto príklade prebehli nasledujúce operácie:
1 + 1 = 0, 1 mi zostala;
1 + 0 + 1 = 0, 1 mi zostala;
1 + 1 + 1 = 1, 1 mi zostala;
0 + 0 + 1 = 1 ;
0 + 1 = 1 .
Dejiny
Prvý známy opis číselnej sústavy pozostávajúcej len z dvoch znakov zaviedol staroindický matematik Pingala v 3. storočí pred Kr. Táto sústava však neobsahovala nulu.
Binárny humor
Referencie
- Negative Binary Numbers | Binary Arithmetic | Electronics Textbook [online]. www.allaboutcircuits.com, [cit. 2020-12-17]. Dostupné online. (po anglicky)
- Signed Binary Numbers [online]. [Cit. 2020-12-14]. Dostupné online.
- Two's Complement [online]. www.cs.cornell.edu, [cit. 2020-12-17]. Dostupné online.
- Binary Addition and Subtraction [online]. Circuit Globe, 2016-09-29, [cit. 2020-12-17]. Dostupné online. (po anglicky)
- there are 10 types of people in this world, those who understand binary and those who dont [online]. Urban Dictionary, [cit. 2017-06-06]. Dostupné online. (po anglicky)
- BORBÉLY, Ladislav. výrok komentátora. http://www.sport.sme.sk/ninajovsvet/. Dostupné online [cit. 2017-06-06].
Pozri aj
Externé odkazy
- Prevod medzi sústavami [PDF]