Java ビット シフト演算子は、2 進数を操作する演算子で、指定されたビット数だけ 2 進数のビットを左または右に移動し、ゼロ ビットまたは符号ビットを埋めます。ビット シフト演算子には、左シフト演算子 (<<)、右シフト演算子 (>>)、および符号なし右シフト演算子 (>>>) の 3 つがあります。
Java のビット単位のシフト演算子は、2 進数を操作する演算子です。指定された量だけ 2 進数のビットを左または右に移動します。 . ビット数を指定してから、ゼロまたは符号ビットを埋め込みます。 Java には、左シフト演算子 (<<)、右シフト演算子 (>>)、および符号なし右シフト演算子 (>>>) の 3 つのビット シフト演算子があります。以下に、これら 3 つの演算子の使い方と特徴を詳しく説明します。
1. 左シフト演算子 (<<)
左シフト演算子は、指定された桁数だけ 2 進数を左に移動し、右側のゼロ ビットを埋めます。 。たとえば、2 進数 1010 を左に 2 ビットシフトすると、00101000 (10 進数で 40) になります。左シフト演算子の構文は次のとおりです。
int result = value << num;
このうち、value は移動する 2 進数、num は移動する桁数、result は演算結果です。
2. 右シフト演算子 (>>)
右シフト演算子は、指定された桁数だけ 2 進数を右に移動し、左側の符号ビットを埋めます。 。元の数値が正の場合は、左側に 0 ビットが埋められ、元の数値が負の場合には、左側に 1 ビットが埋められます。たとえば、2 進数 1010 を右に 2 ビットシフトすると、00001010 (10 進数 2) になります。右シフト演算子の構文は次のとおりです。
int result = value >> num;
このうち、value は移動する 2 進数、num は移動する桁数、result は演算結果です。
3. 符号なし右シフト演算子 (>>>)
符号なし右シフト演算子は、指定された桁数だけ 2 進数を右に移動し、次に左に移動します。ゼロビット。符号なし右シフト演算子は、符号ビットを考慮せず、元の数値が正か負かに関係なく、左側にゼロ ビットを埋め込みます。たとえば、2 進数 1010 を 2 ビット符号なしで右シフトすると、00001010 (10 進数 2) が得られます。符号なし右シフト演算子の構文は次のとおりです。
int result = value >>> num;
このうち、value は移動する 2 進数、num は移動する桁数、result は演算結果です。
ディスプレイスメント演算子は整数型にのみ使用でき、浮動小数点型には使用できないことに注意してください。さらに、移動するビット数は非負の整数である必要があります。そうでない場合は、例外がスローされます。ビット単位の演算子を使用する場合は、予期しない演算結果を避けるために、符号ビットとゼロ ビットをどのように埋めるかに特別な注意を払う必要があります。
以上がJava ビット シフト演算子の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。