Problémy a ich riešenia
1. Nakreslite číselnú os s celými číslami od -10 do +10.
Riešenie:
2. Pridajte nasledujúce binárne čísla do 8-bitového dvojkového doplnku: 1010102 a 11112.
Riešenie:
3. Na odčítanie binárneho čísla 11112 od binárneho čísla 1010102 použite iba prístup dvojky v 8 bitoch.
Riešenie:
101010 v 8-bitovom dvojkovom doplnku je 00101010.
1111 v 8-bitoch je 00001111.
Invertovaním všetkých 00001111 na 8 bitov dostaneme 11110000.
Pridaním 1 k 11110000 dostaneme 11110001.
Odčítanie v dvojkom doplnku znamená sčítanie kladných a záporných čísel dvojkového doplnku takto:
Konečný prenos 1 sa zahodí pri odčítaní dvoch doplnkov.
5. Vydeľte 36,37510 číslom 100010 v desiatkovej a binárnej sústave a porovnajte výsledky.
Riešenie:
Používa sa obnovovacie rozdelenie.
Desatinné delenie na štyri:
Odpoveď je 36 10 zvyšok 375 10 .
36 375 10 celé číslo sa musí previesť na základ 2 takto:
Čítanie zvyškov zdola: 36 375 10 = 1000111000010111 2 .
1000 10 celé číslo sa musí previesť na základ 2 takto:
Čítanie zvyškov zdola: 1000 10 = 1111101000 2 .
Ďalej, 1011000100110111 2 delí 1111101000 2 dlhým delením (obnovením delenia) od 36 375 10 = 1011000100110111 2 a 1000 10 = 1111101000 2 (binárne delenie na desať bitov):
Delenie v skutočnosti začína na jedenástom bite dividendy, pretože prvých desať bitov dividendy je menšie ako deliteľ. Odpoveď je 100 100 2 zvyšok 101110111 2 .
Na porovnanie výsledkov by sa teraz malo ukázať, že celé čísla kvocientov sú rovnaké a zvyšky sú rovnaké. To znamená, že by sa malo ukázať, že 36 10 = 100100 2 a 375 10 = 101110111 2 .
6. Použite 8 bitov podľa vlastného výberu na ilustráciu logického AND, OR, XOR, Invert, Shift Right, Shift Left, Rotate Right a Rotate Left. Každý bajt by mal obsahovať kombináciu 1 a 0.
Riešenie:
- a) Napíšte číselný kód pre nulový znak ASCII v hexadecimálnej, binárnej a desiatkovej sústave.
b) Napíšte číselný kód pre ASCII znak „1“ v hexadecimálnej, binárnej a desiatkovej sústave.
c) Napíšte číselný kód pre ASCII znak „A“ v hexadecimálnej, binárnej a desiatkovej sústave.
d) Napíšte číselný kód pre ASCII znak „a“ v hexadecimálnej, binárnej a desiatkovej sústave.
Riešenie:
a) „0“: 30, 00110000, 48
b) „1“: 31, 00110001, 49
c) „A“: 41, 001000001, 65
d) „a“: 61, 001100001, 97
8. Preveďte 49,4910 na základ dva. Preveďte svoj výsledok do 32-bitového formátu IEEE s pohyblivou rádovou čiarkou.
Riešenie:
Formuláre 49.4910, 49 a .49 sa odlišne prevedú na základ 2.
Konverzia 49:
∴ 4910 = 1100012 odčítané zospodu posledného stĺpca.
Konverzia 0,49:
0,49 x 2 = 0,98, prvý bit je 0
0,98 x 2 = 1,96 sekundy bit je 1
0,96 x 2 = 1,92 tretí bit je 1
∴ 0,49 10 = 110 2 čítajte z hornej časti posledného stĺpca.
Takže 49,49 10 = 110 001,110 2
110 001,110 2 = 1,10001110 x 2 +5 v štandardnej forme základu dva
'1.' v 1,10001110 significand nie je uvedené vo výsledku, ale predpokladá sa, že tam je.
Pre exponent, 127 10 predstavuje nulu. To znamená, že index (mocnosť) 5 10 z 2 5 sa pridáva k 127 10 . To je:
127 10 + 5 10 = 132 10
132 10 sa musí previesť na základ dva a potom sa vložiť do poľa pre exponent.
Takže 132 10 = 1 000 100 2
1 000 100 2 má 7 bitov. Exponent je osem bitov. 1 000 100 2 má osem bitov a to je v poriadku.
49,49 10 je kladný, takže znamienkový bit je 0. V 32-bitovom formáte s pohyblivou rádovou čiarkou je 49,49 10 = 110 001,110 2 je:
0 10000100 10001110000000000000000
- a) Ako sa líši 64-bitový formát IEEE s pohyblivou rádovou čiarkou od 32-bitového formátu?
b) Uveďte dva súvisiace dôvody, prečo je 64-bitový formát opísaný ako dvojnásobná alebo vyššia presnosť oproti 32-bitovému.
Riešenie:
- – Na vyjadrenie čísla je 64 bitov, nie 32.
– Po znamienkovom bite je 11 bitov pre číslo exponentu.
– Číslo exponentu pre nulový index (2 0 ) je 1023 10 = 01111111111 2 .
– Po jedenástich bitoch nasleduje 52 bitov pre explicitný significand.
– Má širší rozsah čísel ako 32-bitový formát. - Dôvod, prečo je 64-bitový formát opísaný ako dvojnásobná alebo vyššia presnosť v porovnaní s 32-bitovým formátom, je ten, že interval medzi dvoma po sebe idúcimi zmiešanými zlomkami, ohraničený dvomi po sebe idúcimi celými číslami pre 64-bitový formát, je menší ako zodpovedajúci 32-bitový interval formátu. Tiež existuje viac možných zmiešaných zlomkov medzi dvoma ohraničenými celými číslami pre 64-bitový formát ako zodpovedajúcim spôsobom pre 32-bitový formát.