論理積 論理和 - いまさらながら 2007/08/21

論理積(&) 論理和(|)を逆におぼえていたことは内緒です。
以下、自分を納得させるための説明です。

論理積(AND(&))は
1に1をかけると1
0に1かけても0
でおぼえています。

論理和(OR(|))は
0に1をたしても1
だから片一方に0がでてきても、その片一方に1があれば、1でおぼえています。

で、
これで、java(javaに限らず)でint値からRGBの値をとるときのおきまりの書き方がわかるわけで、

rgb & 0xff0000

でRの情報がとれるのは、とりたい箇所をffとしてビットを1にして、えーととそれと、欲しいRをかけて存在すればとれるという感じなんですかね。

つぎに、
取得した各RGBの値を一個にするときに、論理和を使うのもなんとなく納得できるかなと。そのときに足すまえに、ビットの位置をうごかすのに、シフトを使って移動させて、足すわけですね。


参考
論理演算
@IT:Javaプログラミング・ワンポイントレクチャー:演算子

: