将数字表达式的位向右移动
语法
用法
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差别
参考