rotl( num, bits )
- Rotates the bits of a number to the left.
- num
-
- The number.
- bits
-
- The number of bits to rotate.
The rotl()
function takes a number and a bit count, and returns the result of rotating the bits of the number to the left by that count.
Numbers in PICO-8 are stored using a 32-bit fixed point format, with 16 bits for the integer portion, 16 bits for the fractional portion, and a two's complement representation for negative and positive values. Bit rotating uses the entire number representation. (See examples below.)
See rotr() to rotate bits to the right.
Examples
-- 8 = 0b00001000 binary
-- 64 = 0b01000000 binary
print(rotl(8, 3)) -- 64
-- 0.125 = 0b0000.0010 binary
-- 1.000 = 0b0001.0000 binary
print(rotl(0.125, 3)) -- 1
-- -4096.0000 = 0b1111000000000000.0000000000000000 binary (two's complement)
-- rotate <-- by 12 bits
-- 0.0586 = 0b0000000000000000.0000111100000000 binary
print(rotl(-4096,12)) -- 0.0586