次の方法で共有


>>= 演算子 (Visual Basic)

更新 : 2007 年 11 月

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

variableorproperty >>= amount

指定項目

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

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

解説

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

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

オーバーロード

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

使用例

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

Dim var As Integer = 10
Dim shift As Integer = 2
var >>= shift
' The value of var is now 2 (one bit was lost off the right end).

参照

概念

代入ステートメント

参照

>> 演算子 (Visual Basic)

代入演算子

ビット シフト演算子

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

機能別の演算子一覧