Difference between revisions of "Lua:bNot"
Jump to navigation
Jump to search
(Created page with "<h2>bNot(int) : Binary not</h2> <pre> -- ~1 print( bNot(1) ) -- 2 0001 ----- 1110 </pre>") |
m (→Advanced Examples) |
||
| (5 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| − | + | [[Category:Lua]] | |
| + | {{CodeBox|'''function''' bNot(''int1'') ''':''' Integer}} | ||
| + | |||
| + | Performs a bitwise NOT operation on the given integer. This function inverts all bits of the input value, changing 1s to 0s and 0s to 1s. It behaves the same as Lua's bitwise NOT operator (<code>~</code>) in Cheat Engine. | ||
| + | |||
| + | === Function Parameters === | ||
| + | {|width="85%" cellpadding="10%" cellpadding="5%" cellspacing="0" border="0" | ||
| + | !align="left"|Parameter | ||
| + | !align="left"|Type | ||
| + | !style="width: 80%;" align="left"|Description | ||
| + | |- | ||
| + | |int1 | ||
| + | |integer | ||
| + | |The value whose bits will be inverted. | ||
| + | |} | ||
| + | |||
| + | === Returns === | ||
| + | An integer representing the bitwise NOT of the input. | ||
| + | |||
| + | === Description === | ||
| + | Bitwise NOT flips every bit in the input integer. For example, in an 8-bit context, 0x0F (00001111) becomes 0xF0 (11110000). | ||
| + | |||
| + | '''Binary example (8-bit representation):''' | ||
| + | |||
<pre> | <pre> | ||
| − | -- | + | 00001111 (0x0F) |
| − | + | -------- | |
| + | 11110000 (0xF0) | ||
| + | </pre> | ||
| − | + | Common uses include: | |
| − | ----- | + | |
| − | + | * Inverting masks | |
| − | </ | + | * Clearing specific bits using combination with AND |
| + | * Logical bit manipulation | ||
| + | |||
| + | === Usage Examples === | ||
| + | '''Simple bitwise NOT:''' | ||
| + | |||
| + | <syntaxhighlight lang="lua" line> | ||
| + | print( bNot(0x0F) ) -- 0xF0 (in 8-bit context) | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | '''Using Lua's NOT operator (equivalent):''' | ||
| + | |||
| + | <syntaxhighlight lang="lua" line> | ||
| + | print( ~0x0F ) -- 0xF0 (in 8-bit context) | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | '''Clearing specific bits using NOT and AND:''' | ||
| + | |||
| + | <syntaxhighlight lang="lua" line> | ||
| + | local value = 0xFF | ||
| + | local mask = 0x0F | ||
| + | local cleared = bAnd(value, bNot(mask)) -- clears lower 4 bits | ||
| + | print(string.format("0x%X", cleared)) -- 0xF0 | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Behavior === | ||
| + | |||
| + | * Returns an integer. | ||
| + | * Only works on numeric values. | ||
| + | * Equivalent to Lua's bitwise NOT operator (<code>~</code>) in Cheat Engine. | ||
| + | * Useful for bitmask manipulation and logical inversions. | ||
| + | |||
| + | === Advanced Examples === | ||
| + | '''Inverting multiple flags:''' | ||
| + | |||
| + | <syntaxhighlight lang="lua" line> | ||
| + | local flags = 0x0D -- 1101 | ||
| + | local inverted = bNot(flags) -- 0010 (if 4-bit context) | ||
| + | print(string.format("0x%X", inverted)) | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | {{LuaSeeAlso}} | ||
| + | |||
| + | {{BinaryOps}} | ||
Latest revision as of 19:59, 25 June 2026
Performs a bitwise NOT operation on the given integer. This function inverts all bits of the input value, changing 1s to 0s and 0s to 1s. It behaves the same as Lua's bitwise NOT operator (~) in Cheat Engine.
Contents
Function Parameters[edit]
| Parameter | Type | Description |
|---|---|---|
| int1 | integer | The value whose bits will be inverted. |
Returns[edit]
An integer representing the bitwise NOT of the input.
Description[edit]
Bitwise NOT flips every bit in the input integer. For example, in an 8-bit context, 0x0F (00001111) becomes 0xF0 (11110000).
Binary example (8-bit representation):
00001111 (0x0F) -------- 11110000 (0xF0)
Common uses include:
- Inverting masks
- Clearing specific bits using combination with AND
- Logical bit manipulation
Usage Examples[edit]
Simple bitwise NOT:
1 print( bNot(0x0F) ) -- 0xF0 (in 8-bit context)
Using Lua's NOT operator (equivalent):
1 print( ~0x0F ) -- 0xF0 (in 8-bit context)
Clearing specific bits using NOT and AND:
1 local value = 0xFF
2 local mask = 0x0F
3 local cleared = bAnd(value, bNot(mask)) -- clears lower 4 bits
4 print(string.format("0x%X", cleared)) -- 0xF0
Behavior[edit]
- Returns an integer.
- Only works on numeric values.
- Equivalent to Lua's bitwise NOT operator (
~) in Cheat Engine. - Useful for bitmask manipulation and logical inversions.
Advanced Examples[edit]
Inverting multiple flags:
1 local flags = 0x0D -- 1101
2 local inverted = bNot(flags) -- 0010 (if 4-bit context)
3 print(string.format("0x%X", inverted))