基 礎(chǔ) 函 數(shù) 參 考
BitRotate
執(zhí)行旋轉(zhuǎn)移位運(yùn)算.
參 數(shù)
值 |
操作數(shù)的值. |
移位 |
[可選參數(shù)] 左旋轉(zhuǎn)位數(shù) (負(fù)值右旋轉(zhuǎn)). 如不指定, 默認(rèn)為 1. |
大小 |
[可選參數(shù)] 決定旋轉(zhuǎn)大小的字串, 默認(rèn)為 (16 位). 見(jiàn)下文. |
大小"參數(shù)的可選值:
"B" |
旋轉(zhuǎn)位的低位字節(jié)(8 位). |
"W" |
旋轉(zhuǎn)位的低位字(16 位). |
"D" |
旋轉(zhuǎn)位的整個(gè)雙字(32 位). |
返 回 值
成功: |
返回按指定位旋轉(zhuǎn)后的值. |
失敗: |
設(shè)置 @error, "大小"參數(shù)值無(wú)效 |
位操作均為 32 位整數(shù).
備 注
數(shù)字可以用十六進(jìn)制表示法.
相 關(guān) 函 數(shù)
BitShift, BitAND, BitNOT, BitOR, BitXOR, Hex
函 數(shù) 示 例
Local $x
= BitRotate(7, 2)
; x == 28 因?yàn)?111b 左旋轉(zhuǎn)兩次是 1 1100b ==
28
Local $y
= BitRotate(14, -2)
; y == 32771 因?yàn)?1110b 右旋轉(zhuǎn) 16 位兩次是 1000 0000
0000 0011b == 32771
Local $z
= BitRotate(14, -2,
"D")
; z == -2147483645 因?yàn)?1110b 右旋轉(zhuǎn) 16 位兩次是 1000
0000 0000 0000 0000 0000 0000 0011b ==
2147483645