Share via


>>= 演算子 (Visual Basic)

変数またはプロパティの値に右シフトの算術演算を実行し、その結果を元の変数またはプロパティに代入します。

variableorproperty >>= amount

指定項目

  • variableorproperty
    必ず指定します。整数型 (SByte、Byte、Short、UShort、Integer、UInteger、Long または ULong) の変数またはプロパティです。

  • amount
    必ず指定します。整数型 (Integer) に拡大変換されるデータ型の数値表現です。

解説

>>= 演算子の左側には、スカラー変数、プロパティ、配列の要素なども指定できます。変数またはプロパティは ReadOnly (Visual Basic) にすることはできません。

>>= 演算子は、最初に変数またはプロパティの値の算術右シフトを実行します。演算子は、変数またはプロパティに再度その操作の結果を代入します。

数値のシフトは、循環的には行われません。つまり、一方の端からはみ出したビットが、もう一方の端に補われることはありません。右シフトの算術演算では、右端のビット位置を超えてシフトされるビットは破棄され、左端のビットは左側に空いたビット位置に移されます。これは、variableorproperty が負の値である場合、空いた位置に 1 が設定されることを示します。variableorproperty が正の値である場合、またはデータ型が unsigned 型である場合、空いた位置にはゼロが設定されます。

オーバーロード

>> 演算子 (Visual Basic) はオーバーロードできます。つまり、オペランドがクラスや構造体を型として持つ場合に、演算子の動作をそのクラスや構造体で再定義できるという意味です。>> 演算子のオーバーロードは、>>= 演算子の動作に影響を与えます。コード内で、>> をオーバーロードするクラスや構造体で >>= が使用されている場合は、再定義された後の動作を必ず理解するようにしてください。詳細については、「演算子プロシージャ (Visual Basic)」を参照してください。

使用例

>>= 演算子を使って、整数型 (Integer) 変数のビット パターンを、指定されたビット数だけ右にシフトし、結果を元の変数に代入する例を次に示します。

Dim var As Integer = 10
Dim shift As Integer = 2
var >>= shift
' The value of var is now 2 (two bits were lost off the right end).

参照

関連項目

>> 演算子 (Visual Basic)

代入演算子 (Visual Basic)

ビット シフト演算子 (Visual Basic)

Visual Basic における演算子の優先順位

機能別の演算子一覧 (Visual Basic)

その他の技術情報

Visual Basic におけるステートメント