Per ottenere il terzo bit meno significativo, fai una cosa tipo
Per il quarto,codice:int t = n & 4;
Infatti, supponiamo di voler verificare il terzo bit meno significativo di 12:codice:int q = n & 8;
Facendo un and tra tutti i bit di entrambi i due numeri, si ottiene sempre zero in qualsiasi posizione in cui la "maschera" (il 4, nel nostro caso) abbia uno zero. Solo in corrispondenza dei bit a 1 della maschera è possibile ottenere 1, e ovviamente solo nel caso che sia 1 anche il bit del numero che stai controllando.codice:0000000000001100 & [12] 0000000000000100 = [4] ------------------- 0000000000000100
Se ottieni un numero diverso da 0, allora il bit che hai controllato era a 1.
codice:if (numero & 4) { //bit a 1 } else { //bit a 0 }