Програмирање 2/К1П 2018 — разлика између измена
м (+kategorija) |
м (Kategorizacija) |
||
Ред 1: | Ред 1: | ||
[ | {{tocright}} | ||
[https://rti.etf.bg.ac.rs/rti/ir1p2/resenja/SI1P2_1718_K1P_resenja.pdf Zadaci i rešenja na sajtu] | |||
== Pitanja == | == Pitanja == | ||
=== Pitanje 1 === | === Pitanje 1 === | ||
Ред 42: | Ред 44: | ||
[[Категорија:Рокови]] | [[Категорија:Рокови]] | ||
[[Категорија:Програмирање 2]] |
Верзија на датум 27. јул 2020. у 11:08
Pitanja
Pitanje 1
Postavka
Ovo je relativno teži zadatak, ali nije ništa naročito.
- w = 10, k = 4, v = 7, p = 5
- IEEE mantisa
Broj A
Data je predstava «A» = 0001 0111 1011 = 0 1011 11011
E = e - v = 10 - 6 = 4
Dakle A = 1.11011 * 24
Broj B
Traži se najmanji celobrojni broj koji kad se sabere sa A nema grešku u zaokruživanju. Pre svega pogledajmo A. Njegova mantisa ne može da se poveća a da ne dođemo do gubitaka sa zaokruživanjem. To znači da ovaj celobrojni broj mora da stane ceo u mantisu od 5 bita sa eksponentom 4. To nije nikakav problem - staće najmanji celi broj veći od 0 tj. 1.
B = 1 = 0.00010 * 24
A + B = (1.11011 + 0.00010) * 24 = 1.11101 * 24.
Ovde uopšte nema zaokruživanja, tako da je greška 0.
Normalizovano, B = 1.00000 * 20
B + C
«C» = 1 0101 1010
C = -1.10101 * 2-2 = -0.01101 * 20
B + C = 1.00000 - 0.01101 = 0.10011
Normalizovano, B + C = 1.00110 * 2-1
e = E + v = -1 + 7 = 6
«B + C» = 0 0110 00110 = 00 1100 0110 = 0C616 (A)