Програмирање 2/К1 2018 — разлика између измена
м (+3) |
м (Ispravka) |
||
| Ред 14: | Ред 14: | ||
* <math>p = 4, k = 4</math> | * <math>p = 4, k = 4</math> | ||
* <math>v = 7 = 2^{k-1} - 1 \implies</math> '''IEEE standard''' | * <math>v = 7 = 2^{k-1} - 1 \implies</math> '''IEEE standard''' | ||
* <math>e_X = 1010_2 = | * <math>e_X = 1010_2 = 10_{10} \implies E_X = e_X - v = 3_10</math> | ||
* <math>m_X = 0100_2 \implies M_X = 1.0100_2</math> | * <math>m_X = 0100_2 \implies M_X = 1.0100_2</math> | ||
* <math>X = 1.0100_2 \cdot 2^3 = 0.00010100_2 \cdot 2^7 = 0.000101_2 \cdot 2^7</math> | * <math>X = 1.0100_2 \cdot 2^3 = 0.00010100_2 \cdot 2^7 = 0.000101_2 \cdot 2^7</math> | ||
* <math>Y = 10100100_2 = 1.0100100_2 \cdot 2^7 = 1.01001_2 \cdot 2^7</math> | * <math>Y = 10100100_2 = 1.0100100_2 \cdot 2^7 = 1.01001_2 \cdot 2^7</math> | ||
* <math>Z = X - Y = (0.000101_2 - 1.01001_2) \cdot 2^7 = -1.001011 \cdot 2^7</math> | * <math>Z = X - Y = (0.000101_2 - 1.01001_2) \cdot 2^7 = -1.001011 \cdot 2^7</math> | ||
Odsecamo poslednje dve | Odsecamo poslednje dve cifre sa <math>Z</math> kako bismo mogli da ga uglavimo u pet bitova za mantisu. Pošto su poslednje dve cifre <math>11</math>, <math>Z</math> zaokružujemo na viši broj, pa je <math>Z \approx -1.0011_2 \cdot 2^7 = -10011000_2 = -152_{10}</math> i tačan odgovor je pod '''A'''. | ||
=== Pitanje 3 === | === Pitanje 3 === | ||
Верзија на датум 7. март 2020. у 17:41
Pitanja
Pitanje 1
Ovo je nestandardan zadatak u kojem nam količina bitova za eksponent () i mantisu () nisu poznati. Postupak rešavanja ide ovako:
- IEEE standard
- , ,
Pošto smo dobili broj čija se mantisa dužine 8 ne može skratiti bez zaokruživanja dobijamo da je . Za možemo da probamo par dovoljno bliskih brojeva, pošto imamo da je . Na primer, ako probamo dobićemo da je pa je a broj 10 se ne može smestiti na 3 binarne cifra pa ta opcija otpada. Na ovaj način dobijamo da je , tako da je tačan odgovor pod B.
Pitanje 2
- IEEE standard
Odsecamo poslednje dve cifre sa kako bismo mogli da ga uglavimo u pet bitova za mantisu. Pošto su poslednje dve cifre , zaokružujemo na viši broj, pa je i tačan odgovor je pod A.
Pitanje 3
- Promenljive
a,bicse neće menjati tokom izvršavanja programa i uvek će zadržati svoje vrednosti 2, 3 i 4. ipromenljiva nam funkcioniše kao brojač u do-while petlji, s tim što se poveća pre izvršenja ostatka petlje.- Ne postoji
breakizmeđucaseza 1 i 3 tako da će program nastaviti da izvršavacase 3nakoncase 1. - Nakon
defaultdela petlja se nastavlja bez povećavanjanna kraju. n += c / a * aje ekvivalentnon += c.- Na kraju nam se ispisuju vrednosti
nii.
Iteracije kroz petlju izgledaju ovako:
- iteracija
i := 1n := b = 3n := n + c = 3 + 4 = 7n := n + 1 = 8n >= 2 * i, odnosno8 >= 2 * 1je tačno, petlja se nastavlja.
- iteracija
i := 2n & c = 1000 & 0100 = 0n := n - c = 8 - 4 = 4n >= 2 * i, odnosno4 >= 2 * 2je tačno, petlja se nastavlja.
- iteracija
i := 3n := n + c = 4 + 4 = 8n := n + 1 = 9n >= 2 * i, odnosno9 >= 2 * 3je tačno, petlja se nastavlja.
- iteracija
i := 4n & c = 1001 & 0100 = 0n := n - c = 9 - 4 = 5n >= 2 * i, odnosno5 >= 2 * 4nije tačno, petlja se zaustavlja.
Dobijamo na kraju da su nam n i i jednaki 5 i 4, tako da je odgovor pod B tačan.