[ Pretender @ 26.02.2004. 17:37 ] @
Pozdrav svima. Posle duzeg odsustvovanja zbog bavljenja drugim stvarima (by force of circumstances), evo me opet na ESu. Nabavio sam (po brojnim preporukama) knjigu 'Thinking in C++' od B.Eckela, koja je izasla nedavno. Eckel ima potpuno drugaciji(klasicniji) pristup od Liberty-ja, ali sad vidim da obe knjige imaju svoje prednosti i nedostatke. Liberty vas odmah baca u vatru, dok Eckel polazi od temelja (dajuci prednost textu nad kodom). Mislim da bi za pocetnika bilo korisno da procita obe knjige (i pored svih, opstepoznatih zamerki na 'C++ za 21 dan'), ali nisam siguran kojim redosledom. Moram da primetim i jedan, po meni, nekorektan potez B.Eckela, koji za resenja zadataka trazi small fee, koji iznosi 50% cene knjige. To nije ogromna suma (12$), ali obzirom na vaznost vezbi u ovakvim knjigama ovaj postupak malo smrdi. Sasvim bi OK bilo da knjiga kosta 50%(ili koliko god) vise, i da kupac zna na cemu je. Zamislite da vam prodaju novi automobil i onda pri izlasku iz salona kazu da kocioni sistem mozete (ako zelite), uz small fee, nabaviti u njihovom servisu. I ako neko ima savet; trazio sam, nije da nisam. Small fee or nothing. Ali da predjem na stvar. Molio bih za pomoc po sledecem pitanju: "Rezultat operatora za pomeranje ulevo (<<) jeste vrednost operanda s leve strane operatora, pomerena ulevo za broj bitova definisan s desne strane operatora." Ali sta onda predstavlja (1<<i)? ("daje jedinicu u svakoj od uzastopnih pozicija bitova, binarno: 00000001, 00000010, itd") Npr: void printBinary(const unsigned char val) { for(int i = 7; i >= 0; i--) if(val & (1 << i)) std::cout << "1"; else std::cout << "0"; "Ova f-ja ispisuje jedan bajt, bit po bit" (??) Operator & vrsi logicku konjunkciju odgovarajucih bitova 2 bajta koja uporedjuje(npr c=a&b). Ali u ovom slucaju da bi rez. tog operatora dao 1 ili 0 operandi moraju biti bitovi a ne bajtovi. Vot iz dis 'baut ? Hvala |