函数参考


BitRotate

执行位移操作, 使用旋转法.

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

参数

要被操作的值.
位移 [可选参数] 要左移(转)的位 (正数为右移). 如果未指定, 默认为 1.
大小 [可选参数] 一个决定旋转大小的字符串, 默认为 (16 位/bits). 参考下文.


大小参数 :
"B" 旋转位于低位字节(low-order byte) (8 bits).
"W" 旋转位于低位字 (low-order word) (16 bits).
"D" 旋转位于整个双字(entire double-word) (32 bits).

返回值

成功: 返回按指定位旋转后的值.
失败: 如果大小无效,将设置 @error.
位操作使用 32-位整数.

注意/说明

记住数值可使用十六进制符号(0x).

相关

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