2012-03-23 10 views
3

私は、これは "1 < < 2" 何を意味するのか分からない:Java(1 << 2)でこの式は何ですか?

public static final int MODIFY_METADATA = 1 << 2; // modify object 

が私を助けてください!

Bitwise Operations

<<

+0

http://en.wikipedia.org/wiki/Bitwise_operation#Bit_shifts – Mysticial

+0

類似の質問がありましたので、ここをクリックして回答してください。[here](http://stackoverflow.com/q/9207007/960195) –

答えて

4

Java Operatorsは左ビットシフト演算子です。

+1

あなたの例では、これは2ビット左に2ビットシフトされ、4 –

+1

@ChrisWhite '1 << 2 = 4'となります。 – Jeffrey

+0

ああ、ありがとう^^ – thuclh

3

ビットマスクを明示的に使用する必要があるため、同じ値である4ではなく1 << 2を使用する理由を知りたい場合は、

public static final int FLAG0 = 1 << 0; 
public static final int FLAG1 = 1 << 1; 
public static final int MODIFY_METADATA = 1 << 2; 

各値がビットマスク内にあることを示します。

関連する問題