論理積 論理和 - いまさらながら
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プログラミング・ワンポイントレクチャー:演算子
: