Програмирање 2/К1 2019

Извор: SI Wiki
< Програмирање 2
Датум измене: 13. фебруар 2020. у 19:01; аутор: TopOfKeks (разговор | доприноси) (Нова страница: == Pitanja == === Pitanje 2 === Na jednom računaru, realni brojevi se predstavljaju na širini od 11 bita u formatu seeeemmmmmm, gde je s bit predviđen za kodiran…)
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу

Pitanja

Pitanje 2

Na jednom računaru, realni brojevi se predstavljaju na širini od 11 bita u formatu seeeemmmmmm, gde je s bit predviđen za kodiranje predznaka broja, eeee su 4 bita za eksponent u kodu sa viškom 8, a mmmmmm su biti normalizovane matise sa skrivenim bitom (0.5≤M<1). Celi brojevi na ovom računaru se predstavljaju u drugom komplementu na širini od 7 bita. Vrednost realnog broja na lokaciji X je 32.510. Predstava celog broja na lokaciji Y je 1228. Koji je sadržaj realne promenljive Z nakon što se na ovom računaru obavi operacija Z = X + Y? Sva zaokruživanja se obavljaju prema pravilima ANSI/IEEE standarda za realne brojeve.

Postavka

  • w = 11, k = 4, v = 8, p = 6
  • VAX mantisa

Broj Y

Y = 1228 = 001 010 010 = 0101 0010.

Komplementiramo, Y = -10 1110 (-46).

Normalizujemo mantisu da bude u formatu 0.1mmmmmm.

Y = -011110 = -0.1011100 * 26. Nema zaokruživanja.

Broj X

X = 32.5 = 10 0000.1

Normalizujemo:

X = 10 000.1 = 0.1000001 * 26

Sabiranje

Z = X + Y = 0.1000001 * 26 - 0.1011100 * 26 = -(0.1011100 * 26 - 0.1000001 * 26) = -0.0011011 * 26.

Normalizujemo.

Z = -0.1101100 * 24

Mantisa = 101100

Eksponent E = 4. e = E + v = 4 + 8 = 12 = 11002.

Znak je negativan.

Sastavljamo 1 1100 101100 = 0111 0010 1100 = 72C16 (A).