概要
Javaで「ビット演算子とシフト演算子」の動作を確認してみました。
以下のページを参考にしました。
実装
以下のファイルを作成しました。
JSample8_1.java
class JSample8_1{
public static void main(String[] args){
int i1 = 85 & 15;
int i2 = 85 | 15;
int i3 = 85 ^ 15;
int i4 = ~85;
System.out.println("85 & 15 = " + i1);
System.out.println("85 | 15 = " + i2);
System.out.println("85 ^ 15 = " + i3);
System.out.println("~85 = " + i4);
}
}
JSample8_2.java
class JSample8_2{
public static void main(String[] args){
int i1 = 21 << 2;
int i2 = 21 >> 2;
int i3 = 21 >>> 2;
System.out.println("21 << 2 = " + i1);
System.out.println("21 >> 2 = " + i2);
System.out.println("21 >>> 2 = " + i3);
int i4 = -92 >> 2;
int i5 = -92 >>> 2;
System.out.println("-92 >> 2 = " + i4);
System.out.println("-92 >>> 2 = " + i5);
}
}
以下のコマンドを実行しました。
$ javac JSample8_1.java
$ java JSample8_1
85 & 15 = 5
85 | 15 = 95
85 ^ 15 = 90
~85 = -86
$ javac JSample8_2.java
$ java JSample8_2
21 << 2 = 84
21 >> 2 = 5
21 >>> 2 = 5
-92 >> 2 = -23
-92 >>> 2 = 1073741801
まとめ
何かの役に立てばと。