Désolé de déterrer le topic de la sorte mais je n'allais pas en faire un nouveau pour si peu. 
J'ai testé le modulo "&" en C++ mais j'obtiens quelque chose de faux.
Le plus simple:
int main()
{
int a(0), b(0);
cin >> a >> b ;
int const result(a&b);
cout << result ;
return 0;
}
Quand j'essaye avec 9 en a et 4 en b, je m'attends à obtenir "1" mais il m'affiche "0"... Faut-il inclure une bibliothèque particulière 