ホームページ > Java > &#&チュートリアル > Java ビット シフト演算子の詳細な紹介

Java ビット シフト演算子の詳細な紹介

DDD
リリース: 2023-10-12 11:19:55
オリジナル
1099 人が閲覧しました

Java ビット シフト演算子は、2 進数を操作する演算子で、指定されたビット数だけ 2 進数のビットを左または右に移動し、ゼロ ビットまたは符号ビットを埋めます。ビット シフト演算子には、左シフト演算子 (<<)、右シフト演算子 (>>)、および符号なし右シフト演算子 (>>>) の 3 つがあります。

Java ビット シフト演算子の詳細な紹介

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート