2011-04-30 15 views
1

これを見つけたのはthis websiteです。この声明は何を意味していますか?

holder.icon.setImageBitmap((position & 1) == 1 ? mIcon1 : mIcon2); 

私はこの文を何度か見たが、それが何を意味するか知っていたことがありません 「...位置& 1」を求めている:/けれども私は知っているために、その便利を推測:P

ありがとう!

+0

duplicate [ビット演算子とは何ですか?](http://stackoverflow.com/questions/276706/what-are-bitwise-operators) –

答えて

1

position1の値のbitwise ANDです。

positionの最下位ビットが1の場合は1を返し、それ以外の場合は0を返します。

1

単一の&符号はビット単位のAND演算です。通常、ビットマスクを適用するためにそれらを使用します。このケースでは、positionの最後(最下位)ビットが1の場合、& 1は、「位置」の各ビットを1で "and-ing"することによって最後のビット以外のすべてをゼロにするため、(position & 1) == 1が真となります。

関連する問題