Programiranje 2/K1 2019

Izvor: SI Wiki
< Програмирање 2
Datum izmene: 13. februar 2020. u 19:01; autor: TopOfKeks (razgovor | doprinosi) (Нова страница: == 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…)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu

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).