Ah mais oui je suis con moi, je pensais que 0xF était égal à 16 en décimal ( donc 0000....0001000 en binaire ), c'est sûr que du coup je ne saisissais pas. 
Merci. 
Sinon en passant, je ne suis pas habitué aux opérateurs de bits, absent dans les autres langages que je connais, je me pose donc quelques questions :
Comment ça se fait que les caractères " & ", " | " et " ^ " aient 2 rôles en Java ( operateur logique et operateur de bits ) ? Dans quel cas c'est l'un qui se trouve usé, dans quel cas l'autre ?
Par exemple si l'on affecte le résultat d'une expression contenant l'un de ces operateurs à une variable booléenne, l'operateur sera automatiquement considéré comme étant un operateur logique ou ça fonctionne comment ?