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

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

ビットを操作する? 説明編




class java_study_12{
public static void main(String args[]){
int be_bit ;
int af_bit ;
be_bit = 29 ;

af_bit = be_bit >> 2 ;
System.out.println("ビットを右に2ずらした結果 →" + af_bit) ;

af_bit = be_bit >> 1 ;
System.out.println("ビットを右に1ずらした結果 →" + af_bit) ;

System.out.println("使う値→" + be_bit) ;

af_bit = be_bit << 1 ;
System.out.println("ビットを左に1ずらした結果 →" + af_bit) ;

af_bit = be_bit << 2 ;
System.out.println("ビットを左に2ずらした結果 →" + af_bit) ;

}
}



今回やったのはシフト演算、前に書いた小数を10倍するは間違いです。


お詫びします。


まずはこの結果を見てください、



ビットを右に2ずらした結果 →7


ビットを右に1ずらした結果 →14


使う値→29


ビットを左に1ずらした結果 →58


ビットを左に2ずらした結果 →116





これはさっきのソースコードの実行結果です、左にずらすと2倍されている。


しかし、逆にすると半分になっている。


とりあえず、覚えておけーい(to 自分)