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

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

ビットを操作する、シフト演算子 Part2



今回はJavaのシフト演算子の続きです、やるのは


「符号が付かないシフト演算子」です、まぁ「とにかく0で埋める」としか俺は理解してない。




まずはソースコードから



class java_study_13{
public static void main(String args[]){
//変数の宣言
int s_bit_b = 41 ;
int s_bit_a ;
//処理
s_bit_a = s_bit_b >>> 1 ;
System.out.println(s_bit_a) ;
}
}



そして、ビット演算子の頃から必ず出ている表です。




32168421
41101001
010100

まずはソースコードから見ようか、//処理の下のすぐの


s_bit_a = s_bit_b >>> 1


だ、これがシフト演算子(符号付かず)だ。


今回の例は1つ右にずらしている。


次にさっきの表だ、まずは41のところを覚えてほしい。


そして、xのところと比べてほしい。


普通に「>>」ならば




32168421
41101001
110100

となってたかもしれないが、こいつは「0で埋める」という特性があるためこうなってしまう。


これでJavaのビット演算子は終了!