Skip to content

>> 和 >>= 运算符

(twinBASIC) 将数值的位向右移动指定位置数,空出的高位用零填充。复合形式**>>=**一步完成移位并赋值。

INFO

**>>>>=**是twinBASIC扩展。经典VBA没有位移运算符;等效代码使用\\除以2的幂(x \ 2x \ 4等)。

语法:

result = number >> count
variable >>= count

result
任意数值变量。
variable
任意数值变量或可写属性。
number
任意数值表达式。浮点操作数在移位前截断为整数。
count
给出要移位的位数的任意数值表达式。

result的数据类型匹配number的(整数)类型。右移是逻辑移位,不是算术移位:空出的高位用零填充,因此负的number变为大的正值而非保留符号。移位超过类型能容纳的位数产生0

复合赋值

x >>= n是twinBASIC中x = x >> n的简写。**>>=**是语句,不是表达式——它不产生值。

vb
Dim Flags As Long = &H100
Flags >>= 4                     ' Flags is now &H10 (16).
Flags >>= 4                     ' Flags is now 1.

示例

vb
Dim Value As Long
Value = 16 >> 0                 ' Returns 16.
Value = 16 >> 4                 ' Returns 1.
Value = 1024 >> 3               ' Returns 128.
Value = -1 >> 1                 ' Returns &H7FFFFFFF (logical shift fills with 0).

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有