Problemi i njihova rješenja
1. Nacrtaj brojevni pravac cijelim brojevima od -10 do +10.
Riješenje:
2. Zbrojite sljedeće binarne brojeve u 8-bitnom dvojnom komplementu: 1010102 i 11112.
Riješenje:
3. Koristite samo komplementni pristup dva u 8-bitovima za oduzimanje binarnog broja 11112 od binarnog broja 1010102.
Riješenje:
101010 u 8-bitnom komplementu dva je 00101010.
1111 u 8 bita je 00001111.
Invertiranje svih 00001111 u 8-bita daje 11110000.
Dodavanje 1 na 11110000 daje 11110001.
Oduzimanje u komplementu dvojke je zbrajanje pozitivnih i negativnih brojeva komplementa dvojke na sljedeći način:
Konačni prijenos od 1 odbacuje se u oduzimanju komplementa dva.
5. Podijelite 36,37510 s 100010 u decimalnom i binarnom obliku i usporedite rezultate.
Riješenje:
Koristi se obnavljajuća podjela.
Decimalno dijeljenje na četvorke:
Odgovor je 36 10 ostatak 375 10 .
36.375 10 cijeli broj se mora pretvoriti u bazu 2 na sljedeći način:
Čitajući ostatke odozdo: 36,375 10 = 1000111000010111 2 .
1000 10 cijeli broj se mora pretvoriti u bazu 2 na sljedeći način:
Čitanje ostataka odozdo: 1000 10 = 1111101000 2 .
Dalje, 1011000100110111 2 dijeli 1111101000 2 dugom diobom (obnavljajuća dioba) od 36.375 10 = 1011000100110111 2 i 1000 10 = 1111101000 2 (binarno dijeljenje u deset bitova):
Dijeljenje zapravo počinje od jedanaestog bita dividende budući da je prvih deset bitova dividende manje od djelitelja. Odgovor je 100100 2 ostatak 101110111 2 .
Za usporedbu rezultata sada treba pokazati da su cijeli brojevi kvocijenata jednaki i da su ostaci jednaki. To znači da treba pokazati da je 36 10 = 100100 2 i 375 10 = 101110111 2 .
6. Upotrijebite 8 bita po svom izboru za ilustraciju logičkog I, ILI, XOR, Invertiranja, Pomaka udesno, Pomaka ulijevo, Rotiranja udesno i Rotiranja ulijevo. Svaki bajt treba imati mješavinu 1 i 0.
Riješenje:
- a) Napišite numerički kod za ASCII znak nule u heksadecimalnom, binarnom i decimalnom obliku.
b) Napišite numerički kod za ASCII znak '1' u heksadecimalnom, binarnom i decimalnom obliku.
c) Napišite numerički kod za ASCII znak 'A' u heksadecimalnom, binarnom i decimalnom obliku.
d) Napišite numerički kod za ASCII znak 'a' u heksadecimalnom, binarnom i decimalnom obliku.
Riješenje:
a) '0': 30, 00110000, 48
b) '1': 31, 00110001, 49
c) 'A': 41, 001000001, 65
d) 'a': 61, 001100001, 97
8. Pretvorite 49,4910 u bazu dva. Pretvorite svoj rezultat u IEEE 32-bitni format s pomičnim zarezom.
Riješenje:
Obrazac 49.4910, 49 i .49 se drugačije pretvaraju u bazu 2.
Pretvaranje 49:
∴ 4910 = 1100012 čitati s dna posljednjeg stupca.
Pretvaranje .49:
.49 x 2 = 0,98 prvi bit je 0
0,98 x 2 = 1,96 drugi bit je 1
.96 x 2 = 1,92 treći bit je 1
∴ .49 10 = 110 2 čitati od vrha posljednjeg stupca.
Dakle, 49,49 10 = 110001.110 2
110001.110 2 = 1,10001110 x 2 +5 u standardnom obliku baze dva
'1.' u 1,10001110 signifikand nije naznačen u rezultatu, ali se pretpostavlja da postoji.
Za eksponent, 127 10 predstavlja nulu. To znači da je indeks (snage) od 5 10 od 2 5 dodaje se 127 10 . To je:
127 10 + 5 10 = 132 10
132 10 mora se pretvoriti u bazu dva i zatim uklopiti u polje za eksponent.
Dakle, 132 10 = 10000100 2
10000100 2 ima 7 bita. Eksponent je osam bita. 10000100 2 ima osam bitova i to je u redu.
49.49 10 je pozitivan, tako da je bit predznaka 0. U 32-bitnom formatu s pomičnim zarezom, 49,49 10 = 110001.110 2 je:
0 10000100 100011100000000000000000
- a) Kako se IEEE 64-bitni format s pomičnim zarezom razlikuje od 32-bitnog formata?
b) Navedite dva povezana razloga zašto se 64-bitni format opisuje kao dvostruka ili veća preciznost u odnosu na 32-bitni.
Riješenje:
- – Postoje 64 bita za predstavljanje broja, a ne 32.
– Nakon bita predznaka, nalazi se 11 bitova za broj eksponenta.
– Broj eksponenta za nulti indeks (2 0 ) je 1023 10 = 01111111111 2 .
– Nakon jedanaest bitova slijede 52 bita za eksplicitni signifikand.
– Ima širi raspon brojeva od 32-bitnog formata. - Razlozi zašto se 64-bitni format opisuje kao dvostruka ili veća preciznost u usporedbi s 32-bitnim formatom je taj što je interval između dva uzastopna mješovita razlomka, omeđena s dva uzastopna cijela broja za 64-bitni format, manji od odgovarajućeg Interval 32-bitnog formata. Također, postoji više mogućih mješovitih razlomaka između dva ograničena cijela broja za 64-bitni format nego za 32-bitni format.