对变量或属性的值执行算术右移,并将结果赋回变量或属性。
语法
variableorproperty >>= amount
部件
variableorproperty
必填。 整型类型的变量或属性(SByte
、、Byte
Short
、UShort
、Integer
、UInteger
、Long
或ULong
)。
amount
必填。 数据类型的数值表达式,其范围扩大到 Integer
.
注解
运算符左侧的 >>=
元素可以是简单的标量变量、属性或数组的元素。 变量或属性不能为 ReadOnly。
运算符 >>=
首先对变量或属性的值执行算术右移。 然后,该运算符将该作的结果赋回变量或属性。
算术移位不是循环性的,也就是说,从结果一端移出的位不会重新移入到另一端。 在算术右移中,将丢弃超出最右侧位位置的位,最左边的位将传播到左侧空置的位位置。 这意味着,如果有 variableorproperty
负值,则空置的位置设置为一个。 如果 variableorproperty
为正值,或者其数据类型为无符号类型,则空置位置设置为零。
重载
可以重载运算符,这意味着当作数具有该类或结构的类型时,类或结构可以重新定义其行为。>> 重 >>
载运算符会影响运算符的行为 >>=
。 如果代码在 >>=
重载 >>
的类或结构上使用,请确保了解其重新定义的行为。 有关详细信息,请参阅 运算符过程。
示例:
以下示例使用 >>=
运算符将变量的 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).