2. Proseminář: Aritmetika, čísla se znaménkem
Počítání ve dvojkové soustavě, zobrazení čísel se znaménkem. Doplňkový a přímý kód. Pevná řádová čárka a pohyblivá řádová čarka.
Záznamy
Příklady
Číselné soustavy a převody
- Převést číslo 540,5 do osmičkové soustavy - opakovaným dělením a násobením osmi (výsledek: 1034,4).
- Totéž pro šestnáctkovou soustavu (výsledek: 21C,8).
- Konstatovat, že analogicky lze postupovat při převodu do dvojkové soustavy.
- Převést osmičkové číslo 1034,4 do dvojkové a odtud do šestnáctkové soustavy (výsledek opět 21C,8).
- Dvojkové číslo 10 0001 1100,1 převést do desítkové soustavy - použitím Hornerova schématu (výsledek: 540,5).
- Číslo 0,1 převést do dvojkové soustavy. Uvědomit si, že výsledek (tj. 0,0001100110011…) nelze zapsat přesně (na konečný počet míst) a že se tedy převodem může do výpočtu zavléci chyba.
Aritmetika v dvojkové, šestnáctkové a desítkové soustavě
- Sčítání, odčítání, násobení a dělení ve dvojkové a šestnáctkové soustavě. Náměty:
- Dvojková soustava:
- 101 × 110 = ? zkontrolovat převodem do desítkové soustavy
- 1101 1110 – 0111 = ?
- 101 : 110 = 0,110 zbytek 0,1 – zkontrolovat v desítkové soustavě a vysvětlit rozdílné zbytky – záleží na přesnosti
- šestnáctková soustava:
- ABCD + 10FF = ?
- 12A0 + BC8F = ?
- Dvojková soustava:
Zobrazení čísel se znaménkem
- Řádová mřížka – zobrazení čísel s ohledem na velikost prostoru pro toto zobrazení (počet bitů), další algoritmy s ohledem na toto omezení.
Např. ve dvojkové soustavě:
| 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 |
v desítkové soustavě:
| 5 | 8 | 3 | 1 |
- Procvičit sčítání v doplňkovém kódu pro všechny kombinace znamének sčítanců a pro případy, kdy nedojde k přeplnění, i pro případy, kdy k přeplnění dojde (operandy mají stejné znaménko, ale výsledek má opačné znaménko). Uvědomit si při tom jaký bude rozsah zobrazitelných čísel.
- Procvičit odčítání v doplňkovém kódu převodem menšitele na opačné číslo (negace všech bitů a následně sečtením s „horkou jedničkou“ nebo postupem „opisuji od konce všechny nuly až narazím na jedničku, tu opíšu a všechny další bity neguji“.
- Práce s čísly v přímém kódu, viz algoritmus na slidu SAP6-12 – znaménko zvlášť, pak práce s absolutní hodnotou
- Sečtěte následující čísla bez znaménka a určete, zda je výsledek platný (tj. nedošlo k přenosu, carry). Následně považujte hodnoty za obrazy čísel se znaménkem v doplňkovém kódu, sečtěte je a určete, zda je výsledek platný (tj. nedošlo k přeplnění, overflow). Nakonec považujte hodnoty za obrazy čísel se znaménkem v přímém kódu, sečtěte je a určete, zda je výsledek platný (tj. nedošlo k přenosu při součtu absolutních hodnot).
| operandy | bez znaménka | doplňkový kód | přímý kód | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1. | 2. | součet | přenos | součet | přetečení | co znamenají operandy | co znamená součet | co znamenají operandy | součet | součet v přímém kódu | přetečení | |||||
| F1 | 12 | 03 | x | 03 | -0F | +12 | +03 | -71 | +12 | -5F | DF | |||||
| 5C | 42 | 9E | 9E | x | +5C | +42 | -62 | +5C | +42 | +9E | 1E | x | ||||
| 3C | 2D | 69 | 69 | +3C | +2D | +69 | +3C | +2D | +69 | 69 | ||||||
| AB | CD | 78 | x | 78 | x | -55 | -33 | +78 | -2B | -4D | -78 | F8 | ||||
| D2 | EB | BD | x | BD | -2E | -15 | -43 | -52 | -6B | -BD | BD | x | ||||
| C3 | 38 | FB | FB | -3D | +38 | -05 | -43 | +38 | -0B | 8B | ||||||
| 71 | F1 | 62 | x | 62 | +71 | -0F | +62 | +71 | -71 | 00 | 00 nebo 80 | |||||
| 5A | E7 | 41 | x | 41 | +5A | -19 | +41 | +5A | -67 | -0D | 8D | |||||