Програмирање 2/К1П 2018 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (+kategorija)
м (Kategorizacija)
Ред 1: Ред 1:
[http://rti.etf.bg.ac.rs/rti/ir1p2/resenja/SI1P2_1718_K1P_resenja.pdf Zadaci i rešenja na sajtu]
{{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

Zadaci i rešenja na sajtu

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)