shl( num, bits )
- Shifts the bits of a number to the left.
- num
-
- The number.
- bits
-
- The number of bits to shift.
The shl()
function takes a number and a bit count, and returns the result of shifting 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 twos complement representation for negative and positive values. Bit shifting uses the entire number representation. (See examples below.)
Examples
-- 1 = 00000001 binary
-- 8 = 00001000 binary
print(shl(1, 3)) -- 8
-- 0.125 = 0000.0010 binary
-- 1.000 = 0001.0000 binary
print(shl(0.125, 3)) -- 1