# Function Reference

BitRotate

Performs a bit shifting operation, with rotation.

BitRotate ( value , shift [, size] )

Parameters

value | The number to be operate on.
shift | Number of bits to rotate to the left (negative numbers shift right). If not given, the default is 1.
size | [optional] A string that determines the rotation size, the default is (16 bits). See below.

Size parameter :

"B" | rotate bits within the low-order byte (8 bits).
"W" | rotate bits within the low-order word (16 bits).
"D" | rotate bits within the entire double-word (32 bits).

Return Value

Returns the value rotated by the required number of bits.
Bit operations are performed as 32-bit integers.

Remarks

Remember hex notation can be used for numbers.

Related

BitShift, BitAND, BitNOT, BitOR, BitXOR, Hex

Example

$x = BitRotate(7, 2)
; x == 3 because 111b left-rotated twice is 1 1100b == 28
$y = BitRotate(14, -2)
; y == 32771 because 1110b right-rotated twice on 16 bits is 1000 0000 0000 0011b == 32771
$z = BitRotate(14, -2, "D")
; z == -2147483645 because 1110b right-rotated twice on 16 bits is 1000 0000 0000 0000 0000 0000 0000 0011b == 2147483645