bitRRotate | Multi Theft Auto: Wiki Skip to content

bitRRotate

Client-side
Server-side
Shared

Manual Review Required

Please finish this page using the corresponding Old Wiki article. Go to Contribution guidelines for more information.


This functions performs a bitwise circular right-rotation on the integer value by integer n positions. See Bitwise operation for more details.

Syntax

int bitRRotate ( int value, int n )
Required Arguments
  • value: The value you want to perform the rotation on.
  • n: The amount of positions to rotate the value by.

Returns

  • int: value

Returns the circular right-rotated value as integer .

Code Examples

shared

This example adds the clientside command/rightrotate [value] [positions = 1], which will print the result from the functionbitRRotate.

function getNumberAsBitString(value)
if type(value) ~= 'number' then
return false
else
local binary = ''
for field = 31, 0, -1 do
binary = binary .. bitExtract(value, field)
if field % 4 == 0 then
binary = binary ..' '
end
end
return binary
end
end
addCommandHandler('rightrotate',
function (command, value, positions)
if type(value) ~= 'string' or value:len() == 0 then
return outputChatBox('* Syntax: /rightrotate [value] [positions = 1]')
end
if type(positions) ~= 'string' or positions:len() == 0 then
positions = 1
end
local result = bitRRotate(tonumber(value), tonumber(positions))
local binary = getNumberAsBitString(result)
outputChatBox('* Decimal: '.. result ..', Binary: '.. binary)
end
)