Function Reference

BitRotate

ローテーションをともなったビットシフト演算子として働きます。

BitRotate ( value , shift [, size] )

 

パラメータ

value 操作する数値
shift 左にローテーションするビット数。(負の値では右にシフトします。) 値が与えられていない場合、デフォルト値1が使用されます。
size [オプション] ローテーションサイズを決定する文字、デフォルトは16ビット。下表を参照。


サイズパラメータ:
"B" 8 ビット(low-order byte)でローテーションします。
"W" 16 ビット(low-order word)でローテーションします。
"D" 32 ビット(entire double-word)でローテーションします。

 

返し値

成功: 指定されたビット数でローテーションされた値を返します。
失敗: sizeが無効な場合@errorを設定します。
ビット演算は32ビット整数として行われます。

 

注意

16進数表現を使用することができます。

 

関連

BitShift, BitAND, BitNOT, BitOR, BitXOR, Hex

 


$x = BitRotate(7, 2)
;  111b を左に2回ローテーションさせると1 1100b == 28 なのでx == 28

$y = BitRotate(14, -2)
;   1110b を16ビットで右に2回ローテーションさせると1000 0000 0000 0011b == 32771なのでy == 32771

$z = BitRotate(14, -2, "D")
;   1110b を32ビットで右に2回ローテーションさせると1000 0000 0000 0000 0000 0000 0000 0011b == 2147483645なのでz == -2147483645