> if(a>b) のように、より大きいことを示します...結果はブール型です
>> は、符号付き右シフトを意味します。例: int i=15; i>>2 の結果は 3 で、移動された部分は破棄されます。
バイナリ形式に変換すると、0000 1111(15) を 2 ビット右シフトした結果が 0000 0011(3) となり、0001 1010(18) を 3 ビット右シフトした結果が 0000 0011 となります。 (3)。
>>>符号なし右シフト:
すべての数値を 2 進数形式で対応する桁数だけ右に移動し、下位ビットをシフトアウト (破棄) し、上位ビットの空のビットを 0 で埋めます。正の数の場合は符号付き右シフトと同じですが、負の数の場合は異なります。
その他の構造は >> と同様です。
テストコードは次のとおりです。
public class Test{ public static void main(String[] args){ System.out.println("1. 次のテスト>:"); System.out.println(a > b) ) ; System.out.println("/n2、次のテスト >>:"); System.out.println("/n3、次のテスト >>>:"); for (int i = 0; i < 10; i++){ for (int j = 0; j < 500; j = j + 5 ) { System.out.println(j / (int) (Math.pow(2, i))); System.out.println(j >>> i);
JAVA のその他のビット演算子:
~ ビット単位の NOT (NOT) (単項演算)
& ビット単位の AND
| ビット単位の OR (OR)
^ ビットごとの XOR (XOR)
>>右に移動
>>> 右にシフトし、左側の空のビットを 0 で埋めます
<< 左にシフト
&= ビット単位の AND 代入
|= ビット単位の OR 割り当て
^= ビット単位の XOR 割り当て
>>= 右シフト代入
>>>= 右シフト代入。左側の空のビットは 0 で埋められます。
<<= 左シフト代入