将数字表达式的位向右移动
语法
用法
result = lhs Shr rhs
参数
返回值
返回rhs 正在向右移动rhs 次的结果。
说明
操作符 Shr(向右Shift)将左侧表达式(
lhs )中的所有位右移右侧表达式(
rhs )指定的次数。在数值上,结果与“
Int(lhs /2 ^ rhs )”相同。例如,“
&b0101 Shr 1”返回二进制数
&b010,“
5 Shr 1”返回
2.
如果左侧表达式为负号,则在移位后左侧新创建的位复制符号位。例如,“
-5 Shr 2”返回
-2.
任何操作数都不以任何方式进行修改。
对于
rhs 小于零或大于或等于结果数据类型中的位数的值,此操作的结果未定义。
对于用户定义的类型,此运算符可能会重载。
例子
'减半数
For i As Integer = 0 To 10
Print 1000 Shr i, Bin(1000 Shr i, 16)
Next i
输出:
1000 0000001111101000
500 0000000111110100
250 0000000011111010
125 0000000001111101
62 0000000000111110
31 0000000000011111
15 0000000000001111
7 0000000000000111
3 0000000000000011
1 0000000000000001
0 0000000000000000
方言差异
与QB差别
参考