操作符 Shl (左移)
 
将数字表达式的位向左移动

语法
用法

result = lhs Shl rhs

参数

lhs
左边的表达式。
rhs
右侧移位表达式。

返回值

返回rhs 向左移动rhs 次的结果。

说明

操作符 Shl(向左Shift)将左侧表达式(lhs )中的所有位移出左侧表达式指定的次数(rhs )。数字上,结果与“CInt( lhs * 2 ^ rhs )”相同。例如,“&b0101 Shl 1”返回二进制数&b01010,“5 Shl 1”返回10.

任何操作数都不以任何方式进行修改。

如果结果太大,无法放入结果的数据类型内,则最左边的位被丢弃(“移出”)。
对于rhs 小于零或大于或等于结果数据类型中的位数的值,此操作的结果未定义。

对于用户定义的类型,此运算符可能会重载。

例子

'双数
For i As Integer = 0 To 10
    
    Print 5 Shl i, Bin(5 Shl i, 16)
    
Next i

输出:
 5            0000000000000101
 10           0000000000001010
 20           0000000000010100
 40           0000000000101000
 80           0000000001010000
 160          0000000010100000
 320          0000000101000000
 640          0000001010000000
 1280         0000010100000000
 2560         0000101000000000
 5120         0001010000000000


方言差异

  • -lang qb 方言中不可用,除非使用别名__Shl引用。

与QB差别

  • 新的FreeBASIC

参考