Šta je novo?

Neko malo da mi pojasni ?

findecko

Cenjen
Učlanjen(a)
16.12.2012
Poruke
216
Poena
169
Nisam siguran da li je tema na pravom mestu ,ako nije ja se izvinjavam i zamolio bih moderatora da je premesti.
Ovako, muci me jedno pitanje iz informatike a ono glasi :
Koliko razlicitih memorijskih lokacija moze da se adresira sa 8 bita? Imam nekoliko ponudjenih odgovora : 64, 128, 256 ,512. Da li moze neko da mi blize pojasni sta su te memorijske lokacije i da mi kaze koje je resenje na ovo pitanje?
 
2^8 = 256

Prvo reci da li znas binarne brojeve pa ako ne znas kreni odatle. Ukratko, za ovaj slucaj imas 8 bita. Svaki bit moze biti 0 ili 1, u zavisnosti od toga na kojoj je poziciji u nizu ima razlicitu "tezinu", tj svaki predstavlja stepen dvojke. Znaci u nizu od osam bitova 00000011, svi imaju vrednost nula sem sedmog koji je 2 (2^1) i osmog koji je 1 (2^0). Bitove gledas tako sto je prvi bit u nizu najvece tezine - 2^7, poslednji najmanje tj 2^0. Sto bi predstavljalo memorijsku lokaciju sa brojem 2+1=3. Lokacija 10000001 je u stvari 128+1=129 lokacija. Kada bi svi bitovi bili 1 tj 11111111 i kad ih saberes, to je 255, i 00000000 lokacija = 256 lokacija.
Da imas 9 bita za adresiranje, mogao bi da adresiras 512 lokacija, 10 bita 1024 itd sve je stepen dvojke.

Ako neko ima snage nek objasni prostije ili oprisnije, premoren sam trenutno :)
 
Sve je rek'o dule, ja mogu samo da dodam da je pitanje isto kao da te neko pita: koliko različitih vrednosti može da se smesti u 8 bita? Što je (skoro) isto kao da te neko pita: koji je najveći broj koji može da se predstavi sa 8 binarnih cifara? Kada znaš odgovor na to, tj. znaš da čitaš/pišeš binarne brojeve, onda dodaš jedan zato što se broji nula. Npr: najveći broj sa 8 binarnih cifara je 255, a ima ih ukupno 256 jer se računa i nula.

A sve je, u suštini, isto kao da te pita, na primer: koji je najveći broj koji možeš da predstaviš sa 8 dekadnih (običnih :d) cifara? To svi znamo: 99999999. Nakrkaš devetki, tj. najvećih vrednosti koje cifra može da ima kol'ko god imaš mesta. :d Koliko različitih brojeva? Pa tih 99999999+1=100000000 zato što brojimo i nulu. A pazi sad: koliko je 10 na 8? Pa isto tih 100000000. Dakle formula je b na k, iliti b^k, gde je b baza, tj. broj različitih vrednosti koje može da ima cifra, a k broj cifara. Baza je za binarne brojeve 2 (samo 0 i 1), za dekadne 10 (od 0 do 9), sa heksadekadne 16 (od 0 do 9 + šest slova od A do F) itd. Možeš da imaš kakvu hoćeš bazu, ove su samo češće u upotrebi. Formula je, inače, prosta kombinatorika, al' cimanje za objasniti bez crtanja.

Memorijske lokacije, ili memorijski registri, su najmanje adresabilne jedinice memorije. Ne važi to uvek i svuda, ali slobodno ih tako zamišljaj. A memoriju zamisli kao niz "nečega" što može da čuva broj određene maksimalne veličine. Da li je to nešto neka hrpa tranzistora, kondenzatora, magnetnih čestica, parčića papira, nije bitno. Svako to nešto ima svoj redni broj, a to je ujedno i njegova adresa. Dakle adresa nije nigde zapisana, nego čisto zavisi od redosleda. Nešto kao brojevi kuća u ulici: ide 1, pa 3, pa 5 itd. na neparnoj strani. Ne ide 5, pa 13, pa 17, pa 9, pa da poštaru treba GPS da te nađe. :d To što piše broj na kući je čisto da bi olakšalo život, moglo bi i bez toga: dođeš na početak ulice i kreneš da brojiš kuće dok ne stigneš do one koja ti treba.

ps. Nadam se da je malo jasnije zašto je posebno glup trend da se broj naziva cifrom. :) Ok je sve to, jezik evoluira, nemam ništa protiv, ali zapravo je važno imati različite pojmove za broj i cifru jer su potpuno različite stvari.

pps. Bonus pitanje: jel zna neko kako bi izgledao unarni sistem? :d
 
Poslednja izmena:
Hvala puno na pomoci, jako ste se potrudili da ovo maksimalno uprostite i mislim da sam shvatio , nego me je najvise zbunjivalo ovo oko memorijskih lokacija :) Znaci poenta je da ako dobijem neki broj (npr 10) izracunam samo koliko je 2^10 a to je 1024 i to je ujedno i maksimalan broj memorijskih lokacija ,zar ne?
Posebno zelim da se zahvalim @ZlajoX-u sto mi se sam javio na pm i poslao jos detaljnije objasnjenje! :)
 
Poslednja izmena:
Eto pomogli smo koliko možemo, i ekipa ovde i ja na pm :)
Pa tako nekako ide "šablon" ali eto mi smo ti objasnili detaljno zašto kako i da znaš šta radiš :)

@Sid unarni sistem, kao brojanje na prste? 1 je 0, 11 je 1, 111 je 2 itd, ili umesto jedinica nule :D to mi pada na pamet jedino :D
 
Poslednja izmena:
nego me je najvise zbunjivalo ovo oko memorijskih lokacija :) Znaci poenta je da ako dobijem neki broj (npr 10) izracunam samo koliko je 2^10 a to je 1024 i to je ujedno i maksimalan broj memorijskih lokacija ,zar ne?
Ne znam koja je to škola i kol'ko je "hitno" da insistiramo da razumeš da nije bitno šta brojiš, lokacije ili jabuke, nego je bitno u kom brojevnom sistemu i koliko imaš cifara na raspolaganju, ali tako je. :) Na pitanje: koliko razlicitih memorijskih lokacija moze da se adresira sa X bita odgovor je 2^X.

unarni sistem, kao brojanje na prste? 1 je 0, 11 je 1, 111 je 2 itd, ili umesto jedinica nule :D to mi pada na pamet jedino :D
Može! Mada mislim da nema potrebe za taj shift, cifre su na "nečemu", što može da bude i "ništa", tako da možeš odsustvo cifara da proglasiš za nulu. Kao: ništa (0), | (1), || (2), ||| (3)... Gde je | simbol za cifru. U suštini, onako kao se broje table u tabliću. :d Opet moraš da imaš "to" po kome lupaš crte, tj. opet dve "stvari", stanja, kako god. Interesantna tema za razmišljanje za one koji bi malo da izađu iz informatike i matematike u fiziku i filozofiju. :)
 
Nazad
Vrh Dno