Citat:
Treba mi pomoc oko nekih zadataka u C-u,konkretno zadatak 10<<3-10>>2 kao i objasnjenje kako ste dosli do resenja?
Prvo treba utvrditi da li treba uraditi ovo
(10<<3)-(10>>2), ili ovo
10<<(3-10)>>2, što je ekvivalentno sa 10<<3-10>>2.
Ako se radi o prvom:
Fizički gledano, izraz
10<<3 označava da cifre broja 10, zapisane u binarnom obliku, treba pomeriti za TRI (3) mesta ULEVO (<<), dopisivanjem nula sa desne strane.
Dakle, početni broj:
10 (Dec) = 1010 (Bin)
I pomeranje:
1010 (Bin), sada je to broj 10100 (20)
II pomeranje:
10100 (Bin), sada je to broj 101000 (40)
III pomeranje:
101000 (Bin), sada je to broj 1010000 (
80)
Logički gledano, broj 10 si pomnožio sa 2
3, tj sa 8. Zapravo, svako pomeranje ulevo je množenje broja sa 2.
Pomeranje udesno je zapravo deljenje sa 2. Isti je princip pomeranja, samo udesno. Ipak, treba voditi računa da se ne izgubi "bit najmanje težine", tj onaj prvi bit sa desne strane, ako je broj neparan. Ovo je slučaj i u tvom primeru, kod drugog pomeranja.
Ako se radi o drugom:
Citat:
Zbunjuje me kako -7 da predstavim kao binaran broj?I kako onda dalje?
Negativni brojevi se ne mogu zapisati na očekivani način u binarnom svetu, jer imaš na raspolaganju samo 0 i 1. Nemaš znak "-". Kako će se reprezentovati negativni brojevi, stvar je neke konvencije (dogovora). Recimo da se "bit najviše težine" rezerviše da označava da i je broj pozitivan ili negativan. Time automatski gubiš "kapacitet" za smeštanje vrednosti, ali šta je tu je.
Ima i drugačijih načina, verovatno je tvoj slučaj:
http://sr.wikipedia.org/wiki/Komplement_dvojke
Tvoj -7 se po ovome transformiše u ...11111001.
Kakvi će rezultati biti, zavisi od "veličine" izabranog tipa.
Citat:
A drugo pitanje je u vezi interpoliranog pretrazivanja(ako moze i neko objasnjenje na koji nacin se odvija interpolirano pretrazivanje),da li se moze primeniti na niz brojeva 101,203,305,407,405,313,210,102?
Čim postoji pravilo - može.