基 础 函 数 参 考


BitRotate

执行旋转移位运算.

BitRotate ( 值 [, 移位, 大小]] )

参 数

操作数的值.
移位 [可选参数] 左旋转位数 (负值右旋转). 如不指定, 默认为 1.
大小 [可选参数] 决定旋转大小的字串, 默认为 (16 位). 见下文.


大小"参数的可选值:
"B" 旋转位的低位字节(8 位).
"W" 旋转位的低位字(16 位).
"D" 旋转位的整个双字(32 位).

返 回 值

成功: 返回按指定位旋转后的值.
失败: 设置 @error, "大小"参数值无效
位操作均为 32 位整数.

备 注

数字可以用十六进制表示法.

相 关 函 数

BitShift, BitAND, BitNOT, BitOR, BitXOR, Hex

函 数 示 例


Local $x = BitRotate(7, 2)
;  x == 28 因为 111b 左旋转两次是 1 1100b == 28

Local $y = BitRotate(14, -2)
;  y == 32771 因为 1110b 右旋转 16 位两次是 1000 0000 0000 0011b == 32771

Local $z = BitRotate(14, -2, "D")
;  z == -2147483645 因为 1110b 右旋转 16 位两次是 1000 0000 0000 0000 0000 0000 0000 0011b == 2147483645

provider with jb51.net (unicode)