On a parfois à manipuler l'écriture binaire d'un entier. On utilise alors les opérateurs suivants:
&. Effectue un et sur
chacun des bits de ses deux opérandes. Ainsi 6&3 vaut 2
puisque |. Effectue un ou sur
chacun des bits de ses deux opérandes. Ainsi 6|3 vaut 7
puisque ^. Effectue un
ou exclusif sur chacun des bits de ses deux opérandes. Ainsi
6^3 vaut 5 puisque >>n. Effectue un
décalage à droite de n crans de tous les bits (ceux le
plus à droite << tombent dans le vide >>, des zéros rentrent par la
gauche). Ainsi 14>>2 vaut 3 puisque <<n. Effectue un
décalage à gauche de n crans de tous les bits (ceux le
plus à gauche << tombent dans le vide >>, des zéros rentrent par la
droite). Ainsi 3<<2 vaut 12 puisque ~. Effectue un
complément de tous les bits (les zéros deviennent des 1 et
réciproquement). Ainsi ~5 vaut -6 puisque i |= (1<<n)
i &= ~(1<<n)
i ^= (1<<n)
if (i&(1<<n)) ...
j = i>>1 et plus
généralement pour calculer le quotient de la division par une
puissance de 2 : j = i>>6
équivaut à j = i/64;
j = i<<1 et plus
généralement pour toute multiplication par une puissance de 2 :
j = i<<6 équivaut à j = i*64;.
1<<n pour obtenir
2n.