bit Module¶
| Since | Origin / Contributor | Maintainer | Source |
|---|---|---|---|
| 2014-12-24 | https://github.com/LuaDist/bitlib, Zeroday | Zeroday | bit.c |
Bit manipulation support, on 32bit integers.
bit.arshift()¶
Arithmetic right shift a number equivalent to value >> shift in C.
Syntax¶
bit.arshift(value, shift)
Parameters¶
valuethe value to shiftshiftpositions to shift
Returns¶
the number shifted right (arithmetically)
bit.band()¶
Bitwise AND, equivalent to val1 & val2 & ... & valn in C.
Syntax¶
bit.band(val1, val2 [, ... valn])
Parameters¶
val1first AND argumentval2second AND argument...valn...nth AND argument
Returns¶
the bitwise AND of all the arguments (number)
bit.bit()¶
Generate a number with a 1 bit (used for mask generation). Equivalent to 1 << position in C.
Syntax¶
bit.bit(position)
Parameters¶
position position of the bit that will be set to 1
Returns¶
a number with only one 1 bit at position (the rest are set to 0)
bit.bnot()¶
Bitwise negation, equivalent to `~value in C.
Syntax¶
bit.bnot(value)
Parameters¶
value the number to negate
Returns¶
the bitwise negated value of the number
bit.bor()¶
Bitwise OR, equivalent to val1 | val2 | ... | valn in C.
Syntax¶
bit.bor(val1, val2 [, ... valn])
Parameters¶
val1first OR argument.val2second OR argument....valn...nth OR argument
Returns¶
the bitwise OR of all the arguments (number)
bit.bxor()¶
Bitwise XOR, equivalent to val1 ^ val2 ^ ... ^ valn in C.
Syntax¶
bit.bxor(val1, val2 [, ... valn])
Parameters¶
val1first XOR argumentval2second XOR argument...valn...nth XOR argument
Returns¶
the bitwise XOR of all the arguments (number)
bit.clear()¶
Clear bits in a number.
Syntax¶
bit.clear(value, pos1 [, ... posn])
Parameters¶
valuethe base numberpos1position of the first bit to clear...posnposition of thet nth bit to clear
Returns¶
the number with the bit(s) cleared in the given position(s)
bit.isclear()¶
Test if a given bit is cleared.
Syntax¶
bit.isclear(value, position)
Parameters¶
valuethe value to testpositionbit position to test
Returns¶
true if the bit at the given position is 0, false othewise
bit.isset()¶
Test if a given bit is set.
Syntax¶
bit.isset(value, position)
Parameters¶
valuethe value to testpositionbit position to test
Returns¶
true if the bit at the given position is 1, false otherwise
bit.lshift()¶
Left-shift a number, equivalent to value << shift in C.
Syntax¶
bit.lshift(value, shift)
Parameters¶
valuethe value to shiftshiftpositions to shift
Returns¶
the number shifted left
bit.rshift()¶
Logical right shift a number, equivalent to ( unsigned )value >> shift in C.
Syntax¶
bit.rshift(value, shift)
Parameters¶
valuethe value to shift.shiftpositions to shift.
Returns¶
the number shifted right (logically)
bit.set()¶
Set bits in a number.
Syntax¶
bit.set(value, pos1 [, ... posn ])
Parameters¶
valuethe base number.pos1position of the first bit to set....posnposition of the nth bit to set.
Returns¶
the number with the bit(s) set in the given position(s)