Sčítání
Sčítání není problém, prostě to sečtu =D:
Příklad:
8 + 11
1. Osmičku i jedenáctku převedu do dvojkové soustavy:
| 8 | : | 2 | = | 4 | 0 |
| 4 | : | 2 | = | 2 | 0 |
| 2 | : | 2 | = | 1 | 0 |
| 1 | : | 2 | = | 0 | 1 |
8 = 1000
| 11 | : | 2 | = | 5 | 1 |
| 5 | : | 2 | = | 2 | 1 |
| 2 | : | 2 | = | 1 | 0 |
| 1 | : | 2 | = | 0 | 1 |
11 = 1011
2. No a teď to sečtu:
| 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
| 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
Sčítám stejně jako v desítkové soustavě písemně.
8 + 11 = 19 (v desítkové soustavě)
1000 + 1011 = 10011 (ve dvojkové soustavě)
Odčítání
Odčítání je už trochu obtížnější. Počítač zkrátka odčátat neumí, a tak to dělá následujícím způdobem:
Příklad: 10 - 7
1. První krok je stejný jako při sčítání, desítku i sedmičku
převedu do dvojkové soustavy:
| 10 | : | 2 | = | 5 | 0 |
| 5 | : | 2 | = | 2 | 1 |
| 2 | : | 2 | = | 1 | 0 |
| 1 | : | 2 | = | 0 | 1 |
10 = 1010
| 7 | : | 2 | = | 3 | 1 |
| 3 | : | 2 | = | 1 | 1 |
| 1 | : | 2 | = | 0 | 1 |
7 = 111
2. Teď budu pracovat s tou sedmičkou. Provedu inverzi butů, to znamená v bajtu nuly převedu na jedničky a jedničky na nuly:
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
Lepší je nakreslit si ty políčka (bity) a vepsat si to do nich, protože tak nezapomenete na úvodní nuly. Inverze z 111 na 000 je tedy chybná, správně je 11111000
3 . K tomu invertovanému bajtu přičtu jedničku:
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | <- To jsou invertované bity z té sednučky |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | <- To je ta jednička |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | <- To je součet invertovaných bitů a jedničky |
Tímto procesem (invertování bitů + 1) jsme číslo 7 převedli na -7. Tomuto procesu říkáme dvojkový doplněk.
4. To co mi vyšlo (11111001) přičtu k té desítce.
| 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
A mám výsledek.
10 - 7 = 3 (v desítkové soustavě)
1010 -111 = 11 (ve dvojkové soustavě)
A jak jsem říkal, počítač neumí odčítat, takže on vlastně
sčítá:
počítá 10 + (-7) místo 10 - 7, ale matematicky je to totéž.
Komentáře