HOWTO · Java

Java の >> 演算子

この記事では、Java の>>演算子について学習します。

このページの内容

このガイドでは、Java の >> 演算子について説明します。この概念を理解するには、いくつかの低レベルのコンピューティングの概念に精通している必要があります。たとえば、ビット、バイトなどです。飛び込みましょう。

Java の >> 演算子

Java では、>> 演算子は右シフト演算子です。指定されたビットパターンを右にシフトします。たとえば、ビットに精通している場合は、シフターがビットパターンをシフトすることを知っています。

次の例を見てください。

Let
X=0110101;
X>>1
Shift the bytes by 1, and the result will be
0110101
0011010   

Let
Y = 00111011
So when you do, x >> 2, 
result in x = 00001110

例を見ると、1 ビットのシフトに気付くでしょう。シフト後、値 01101010011010 に変更されます。

シフターの詳細については、このリンクにアクセスしてください。

>> 演算子は Java でも同じように機能します。それがどのように動作するか、そしてそのような目的のためにどのようにコードを書くかを見ていきます。見てみましょう。

public static void main(String[] args) {
  byte val = 100;
  // binary of 100 is 1100100
  val = (byte) (val >> 2); // shifting by two bits
  System.out.println(val);
  // after running the above code, the bits in binary will shift and it will look
  // like this, 0011001 which is equal to number 25 in decimals.
}

上記のコードは自明です。100 のバイト値を与えています。マシンは 2 進数で動作し、1001100100 として読み取ります。

出力:

25

2 ビット右にシフトすると、この 0011001 のようになり、小数点以下 25 桁になります。これが Java の >> 演算子の機能です。