Bit32 Library
function bit32.band(args: ...number): numberfunction bit32.bnot(n: number): numberfunction bit32.bor(args: ...number): numberfunction bit32.bxor(args: ...number): numberfunction bit32.btest(args: ...number): boolean
function bit32.extract(n: number, field: number, width: number?): numberfunction bit32.replace(n: number, replacement: number, field: number, width: number?): numberfunction bit32.byteswap(n: number): numberfunction bit32.countlz(n: number): numberfunction bit32.countrz(n: number): number
function bit32.lrotate(n: number, displacement: number): numberfunction bit32.rrotate(n: number, displacement: number): numberfunction bit32.lshift(n: number, displacement: number): numberfunction bit32.rshift(n: number, displacement: number): numberfunction bit32.arshift(n: number, displacement: number): number
function bit32.s32(n: number): numberfunction bit32.smul(a: number, b: number): numberBitwise Operations
Section titled “Bitwise Operations”Bit Field Operations
Section titled “Bit Field Operations”Bit Rotation and Shifting
Section titled “Bit Rotation and Shifting”Signed 32-bit Integer Operations
Section titled “Signed 32-bit Integer Operations”bit32.s32 is used for normalizing numbers to the signed 32-bit range. Whereas bit32.smul performs signed 32-bit multiplication, without inccuring float64 precision loss.