2012-01-18 5 views
2

PCを使わずにSOUTの結果を理解する方法を知る必要があります。javaバイナリ数

public static int bits(int n) { 
    return n & (0xeeeeeeee|0x66666666); 
} 

bits(6);の返品は何ですか?私はそれが6を返すことを知っている、なぜですか?

+6

音が宿題のようです。 2つの値のビットパターンがどのように見えるか、それらを一緒にして、結果がどのように見えるかを確認します。それで、あなたが 'n 'のための様々な値を持っているときに何が起こるかを理解することができます –

答えて

2
 1110 1110 1110 1110 1110 1110 1110 1110 (0xeeeeeeee) 
OR 0110 0110 0110 0110 0110 0110 0110 0110 (0x66666666) 
    --------------------------------------- 
    1110 1110 1110 1110 1110 1110 1110 1110 
    --------------------------------------- 

    1110 1110 1110 1110 1110 1110 1110 1110 
AND          0110 (6) 
    --------------------------------------- 
             110 (6) 
    --------------------------------------- 
8

16進リテラルを手作業でバイナリリテラルに変換すると、より明確になります。

これは宿題なので、これはあまりにも多くの細部をあきらめることなく、十分に適切な答えだと思います。

関連する問題