Documente Academic
Documente Profesional
Documente Cultură
Operații pe biți
Acest laborator are ca scop înțelegerea modului în care se utilizează operațiile pe biți. Se vor rezolva
o serie de exerciții pentru care va fi prezentat și codul aferent. Pentru exercițiile din secțiunea
următoare vor fi considerate două variabile:
În tabelul de mai jos este prezentată o interpretare alternativă a operațiilor binare. Operatorii sunt
aplicați între un bit 'b' și valoarea menționată în tabel.
Studiu de caz #1
Astfel, rezolvarea acestei probleme înseamnă de fapt să verificăm bitul b0. Pentru aceasta trebuie să
folosim o mască. În general, o mască înseamnă un număr cu o configurație ușor de obținut în binar.
Pentru a verifica valoarea primului bit vom folosi o mască, cu valoarea zecimală 1, pentru a putea
selecta bitul b0. Pentru a alege operația pe biți favorabilă, vom consulta tabela de adevăr a funcțiilor
pe biți. În cazul nostru, vom utiliza operatorul ȘI (&).
if (( x & 1 ) == 0)
//numarul este par
x = x << 7;
x = x >> 7;
if( x == 0)
//numarul este par
Ex2. Scrieți o expresie, care să salveze în variabila x valoarea 1, dacă și numai dacă bitul n
are valoarea 1. Rezolvarea acestei probleme este asemănătoare cu rezolvarea problemei 1.
Considerăm că n=4.
x = (x << (7 - n))>>7 ;
Varianta 2:
x = x << (7 - n) ;
x = x >> 7;
A doua variantă de rezolvare implică folosirea unei măști. Evident, aceasta trebuie să ducă la
selectarea bitului b4.
Pentru a rezolva problema în acest mod, vom folosi următoarea secvență de cod:
Rezolvarea acestui program va presupune aceeași mască, dar operația folosită va fi, de această dată,
diferită.
x = x ^ (1 << n);
Exerciții
Fie x un număr natural. Scrieți câte o expresie care sa utilizeze operatori pe biți astfel
încât:
From:
https://wiki.mta.ro/ - Cursuri Academia Tehnică Militară "Ferdinand I"
Permanent link:
https://wiki.mta.ro/c/1/prog/lab/lab4