/var/log/masayoshi/masayoshi.life.log

とりあえず、書きたいこと書くだけ。

or演算子の動作



まずはソースコードから大まかな雰囲気から



class java_study_10{
public static void main(String args[]){
int i_val ;
int match ;
i_val = 21 ;
match = 3 ;

if((i_val | match) == 1){
System.out.print("偶数") ;
}else{
System.out.println("奇数") ;
System.out.println(i_val | match) ;
}
}
}



次に表を見てもらいたい





168421
2010100
300101
10101

これは20と3の2進数の結果と処理結果だ、肝心なor演算子の話を忘れてしまった。


or演算子とは、同じ位置のビットを比較して


どちらかが「1」だったら1にする


と言うものだ、さっきの表を見てほしい。


見てもらうのは「差」という項目だ、「20」か「3」のどっちかが「1」だと「差」は「1」になっている。


例えば16のところを見てもらおう、20だと1になっている。


3だと0になっている、差はどうなっている?


「1」になっているよぉ。


そして、もうひとつ



168421
10101

これはさっきの差の部分だけを抜き出したものだよぉ、1になってる上の数字だけ計算してごらん。


21になるだろぉ、これがorではじき出された結果なんだよぉ。


何に使うか正直不明だw


以上