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