Titlul: operatii pe biti Scris de: Sorin Rita din Martie 03, 2011, 17:01:58 Cum as putea sa vad cate aparitii de 1 sunt in reprezentarea binara a unui numar ?
Sau cum pot sa vad daca pe a i-a pozitie e 1 sau 0 ? Bine, stiu ca as putea sa fac asta trecand numarul in baza 2 si apoi sa parcurg cifrele. Dar nu exista si o metoda mai simpla ? Titlul: Răspuns: operatii pe biti Scris de: FMI Romila Remus Arthur din Martie 03, 2011, 17:25:54 Folosind & :
Cod: if(nr&(1<<(p-1) ) ) Titlul: Răspuns: operatii pe biti Scris de: truenight din Martie 03, 2011, 17:27:35 Pe .campion este un articol (http://campion.edu.ro/arhiva/index.php?page=paper&action=view&id=21) cu operatii pe biti si gasesti acolo ce-ti trebuie, plus niste probleme la sfarsit. Merita citit! Este unul si pe IA (http://infoarena.ro/operatii-pe-biti), dar e posibil sa fie acelasi articol :-k
Titlul: Răspuns: operatii pe biti Scris de: Paul-Dan Baltescu din Martie 03, 2011, 23:30:20 Poti face asa:
Cod: int nr = 0; Numarul de operatii este proportional cu numarul de biti de 1 ai lui x (ceea ce inseamna ca pe cazul cel mai defavorabil, numarul operatiilor va fi similar cu parcurgerea tuturor bitilor, cum sugereaza Remar mai sus), dar in general merge mai bine. Cheia e sa observi ce se intampla cand faci x & (x-1). |