Korisnički Kontrolni Panel
Pogledajte svoj profil
Pogledajte svoje postove
ČPP
Prijavite se

Matematički forum na kojem možete da diskutujete o raznim matematičkim oblastima, pomognete drugima oko rešavanja zadataka, a i da dobijete pomoć kada vam zatreba


















Index stranica OSTALE MATEMATIČKE OBLASTI MATEMATIKA U INFORMATICI

Predstavljanje podataka u računaru

Brojni sistemi, Bulova algebra, binarna aritmetika itd.

Predstavljanje podataka u računaru

Postod Srdjan01 » Subota, 24. Oktobar 2020, 14:14

Pozdrav
E ovako, imam problem sa zadatkom koji glasi:
Niz brojeva [inlmath]-0.375,\;119.6,\;2^{-100}[/inlmath] smjestiti u memoriju počevši od lokacije [inlmath]00400h[/inlmath], ako se podaci upisuju kao FP podaci u:
[inlmath]a)[/inlmath] običnoj preciznosti
[inlmath]b)[/inlmath] dvostrukoj preciznosti
I sada nije mi problem za [inlmath]-0.375[/inlmath] i [inlmath]119.6[/inlmath], tu imam (na primjer samo pod [inlmath]a)[/inlmath] obična preciznost):

[inlmath]-0.375[/inlmath]:
[dispmath]{\color{red}\underbrace{1}_\text{znak}}\quad{\color{blue}\underbrace{0\;1\;1\;1\;1\;1\;0\;1}_{\text{eksponent}\quad8\text{ bitova}}}\quad{\color{green}\underbrace{1\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0}_{\text{mantisa}\quad23\text{ bita}}}[/dispmath] [inlmath]119.6[/inlmath]:
[dispmath]{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{1\;0\;0\;0\;0\;1\;0\;1}_{\text{eksponent}\quad8\text{ bitova}}}\quad{\color{green}\underbrace{1\;1\;0\;1\;1\;1\;1\;0\;0\;1\;1\;0\;0\;1\;1\;0\;0\;1\;1\;0\;0\;1\;1}_{\text{mantisa}\quad23\text{ bita}}}[/dispmath] Imam problem sa ovim [inlmath]2^{-100}[/inlmath] ne razumijem kako njega da predstavim na ovakav način.
Da je kojim slučajem [inlmath]2^{-130}[/inlmath], to bi izgledalo:
[dispmath]2^{-130}=1.0\cdot2^{-130}=0.1\cdot2^{-129}=+0.001\cdot2^{-127}\\
ME=SE+127=0[/dispmath][dispmath]{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{0\;0\;0\;0\;0\;0\;0\;0}_{\text{eksponent}\quad8\text{ bitova}}}\quad{\color{green}\underbrace{0\;0\;1\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0}_{\text{mantisa}\quad23\text{ bita}}}[/dispmath] Ali sa [inlmath]2^{-100}[/inlmath] nemam ideju.
Hvala Unaprijed! :)
Korisnikov avatar
 
Postovi: 92
Zahvalio se: 32 puta
Pohvaljen: 61 puta

Sharuj ovu temu na:

Share on Facebook Facebook Share on Twitter Twitter Share on MySpace MySpace Share on Google+ Google+
  • +1

Re: Predstavljanje podataka u računaru

Postod Daniel » Subota, 24. Oktobar 2020, 23:16

Za [inlmath]2^{-130}[/inlmath] imaš grešku, treba da bude
[dispmath]{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{0\;0\;0\;0\;0\;0\;0\;0}_{\text{eksponent}\quad8\text{ bitova}}}\quad{\color{green}\underbrace{0\;0\;0\;1\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0}_{\text{mantisa}\quad23\text{ bita}}}[/dispmath] Imaj u vidu da, kod obične preciznosti, za brojeve manje od [inlmath]2^{-126}[/inlmath] imamo denormalizovan zapis, kod kojeg su svi bitovi eksponenta nule, a podrazumevana vrednost eksponenta je [inlmath]-126[/inlmath]. Kod denormalizovanog zapisa za celobrojni deo mantise podrazumeva se nula (za razliku od normalizovanog, kod kojeg se podrazumeva jedinica). To znači, [inlmath]2^{-130}=2^{-4}\cdot2^{-126}[/inlmath], zbog čega jedinicu imamo na četvrtoj poziciji u mantisi gledano sleva, a svi ostali bitovi su nule.



[inlmath]2^{-100}[/inlmath] spada u opseg koji se predstavlja normalizovanim zapisom: [inlmath]1\cdot2^{-100}[/inlmath], tako da je mantisa jednaka jedinici (tj. svi bitovi koji je predstavljaju biće nule), dok je eksponent jednak [inlmath]-100[/inlmath] (na šta treba dodati [inlmath]127[/inlmath], čime se dobija [inlmath]27[/inlmath]):
[dispmath]{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{0\;0\;0\;1\;1\;0\;1\;1}_{\text{eksponent}\quad8\text{ bitova}}}\quad{\color{green}\underbrace{0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0}_{\text{mantisa}\quad23\text{ bita}}}[/dispmath]
I do not fear death. I had been dead for billions and billions of years before I was born, and had not suffered the slightest inconvenience from it. – Mark Twain
Korisnikov avatar
Daniel  OFFLINE
Administrator
 
Postovi: 9300
Lokacija: Beograd
Zahvalio se: 5151 puta
Pohvaljen: 4951 puta

Re: Predstavljanje podataka u računaru

Postod Srdjan01 » Nedelja, 25. Oktobar 2020, 11:18

E ovako, imam niz kod [inlmath]2^{-10},\;2^{-100},\;2^{-1000}[/inlmath] koji je potrebno smjestiti u memoriju počevši od lokacije [inlmath]04000h[/inlmath], ako se podaci upisuju kao FP podaci:
[inlmath]a)[/inlmath] obične preciznosti
[inlmath]b)[/inlmath] dvostruke preciznosti

I sada koliko sam ja razumio to bi trebalo da izgleda ovako
Za običnu preciznost imamo:
[inlmath]2^{-100}[/inlmath]
[dispmath]ME=SE+127=-100+127=27\\
{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{0\;0\;0\;1\;1\;0\;1\;1}_{\text{eksponent}\quad8\text{ bitova}}}\quad{\color{green}\underbrace{0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0}_{\text{mantisa}\quad23\text{ bita}}}[/dispmath] Kao što si mi pokazao u prethodnom postu.

[inlmath]2^{-10}[/inlmath] po mom mišljenju bi trebalo da izgleda:
[dispmath]ME=SE+127=-10+127=117\\
{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{0\;1\;1\;1\;0\;1\;0\;1}_{\text{eksponent}\quad8\text{ bitova}}}\quad{\color{green}\underbrace{0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0}_{\text{mantisa}\quad23\text{ bita}}}[/dispmath] [inlmath]2^{-1000}[/inlmath]
[dispmath]2^{-1000}=2^{-126}\cdot 2^{-874}\\
{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{0\;0\;0\;0\;0\;0\;0\;0}_{\text{eksponent}\quad8\text{ bitova}}}\quad{\color{green}\underbrace{0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0}_{\text{mantisa}\quad23\text{ bita}}}[/dispmath]
E sada za dvostruku preciznost (po mom mišljenju) imamo:
[inlmath]2^{-100}[/inlmath]
[dispmath]2^{-100}=ME=SE+1023=923\\
{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{0\;1\;1\;1\;0\;0\;1\;1\;0\;1\;1}_{\text{eksponent}\quad11\text{ bitova}}}\quad{\color{green}\underbrace{0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0}_{\text{mantisa}\quad52\text{ bita}}}[/dispmath] [inlmath]2^{-10}[/inlmath]
[dispmath]ME=SE+1023=1013\\
{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{0\;1\;1\;1\;1\;1\;1\;0\;1\;0\;1}_{\text{eksponent}\quad11\text{ bitova}}}\quad{\color{green}\underbrace{0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0}_{\text{mantisa}\quad52\text{ bita}}}[/dispmath] [inlmath]2^{-1000}[/inlmath]
[dispmath]ME=SE+1023=23\\
{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{0\;0\;0\;0\;0\;0\;1\;0\;1\;1\;1}_{\text{eksponent}\quad11\text{ bitova}}}\quad{\color{green}\underbrace{0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0}_{\text{mantisa}\quad52\text{ bita}}}[/dispmath] I sada to treba smjestiti u memoriju (ali mi to nije problem). Zanima me samo da li je ova moja logika ispravna, da li su ovo tačna rješenja?
Hvala Unaprijed! :)
Korisnikov avatar
 
Postovi: 92
Zahvalio se: 32 puta
Pohvaljen: 61 puta

  • +1

Re: Predstavljanje podataka u računaru

Postod Daniel » Sreda, 28. Oktobar 2020, 02:05

Da, tačna su sva rešenja.

Kada [inlmath]2^{-1000}[/inlmath] predstavljaš s običnom preciznošću, možeš uočiti da dobijaš sve nule – kako u eksponentu, tako i u mantisi. A to, zapravo, predstavlja zapis nule. Drugim rečima, broj [inlmath]2^{-1000}[/inlmath] je toliko blizak nuli, da u predstavljanju u pokretnom zarezu s običnom preciznošću, on biva tretiran kao – nula.

Štaviše, u pokretnom zarezu s običnom preciznošću, najbliži broj nuli koji se ne zapisuje kao nula imao bi sledeći zapis:
[dispmath]{\color{red}\underbrace{0}_\text{znak}}\quad{\color{blue}\underbrace{0\;0\;0\;0\;0\;0\;0\;0}_{\text{eksponent}\quad8\text{ bitova}}}\quad{\color{green}\underbrace{0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;0\;1}_{\text{mantisa}\quad23\text{ bita}}}[/dispmath] a to odgovara broju [inlmath]2^{-149}[/inlmath].
„Već“ [inlmath]2^{-150}[/inlmath] bio bi predstavljen kao nula, pa tako i tretiran.
I do not fear death. I had been dead for billions and billions of years before I was born, and had not suffered the slightest inconvenience from it. – Mark Twain
Korisnikov avatar
Daniel  OFFLINE
Administrator
 
Postovi: 9300
Lokacija: Beograd
Zahvalio se: 5151 puta
Pohvaljen: 4951 puta

Re: Predstavljanje podataka u računaru

Postod Srdjan01 » Sreda, 28. Oktobar 2020, 08:47

Hvala mnogo! :thumbup:
Korisnikov avatar
 
Postovi: 92
Zahvalio se: 32 puta
Pohvaljen: 61 puta


Povratak na MATEMATIKA U INFORMATICI

Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 41 gostiju


Index stranicaTimObriši sve kolačiće boarda
Danas je Četvrtak, 28. Mart 2024, 23:14 • Sva vremena su u UTC + 1 sat
Pokreće ga phpBB® Forum Software © phpBB Group
Prevod – www.CyberCom.rs