>>>と>>の違い 質問する

>>>と>>の違い 質問する

Java の>>>and演算子の違いは何ですか?>>

ベストアンサー1

>>は算術右シフト、>>>は論理右シフトです。

算術シフトでは、数値の符号を保持するために符号ビットが拡張されます。

たとえば、-2 を 8 ビットで表すと、11111110(最上位ビットの重みが負であるため) になります。算術シフトを使用してこれを 1 ビット右にシフトすると11111111、または -1 になります。ただし、論理右シフトでは、値が符号付き数値を表す可能性は考慮されません。単にすべてを右に移動し、左から 0 で埋めるだけです。論理シフトを使用して -2 を 1 ビット右にシフトすると、になります01111111

おすすめ記事