Lua:bXor

From Cheat Engine
Revision as of 20:02, 25 June 2026 by Leunsel (talk | contribs) (Syntax Highlighting.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

<> Lua API Reference

function bXor(int1, int2) : Integer

Performs a bitwise XOR (exclusive OR) operation between two integer values. This function behaves the same as Lua's bitwise XOR operator (~) in Cheat Engine. It is used when toggling bits, detecting bit differences, or implementing specific bit-logic operations.

Function Parameters[edit]

Parameter Type Description
int1 integer The first integer value used in the XOR operation.
int2 integer The second integer value used in the XOR operation.

Returns[edit]

An integer representing the result of the bitwise XOR operation.

Description[edit]

The XOR operation compares each bit of the two integers and sets the result bit to 1 only if the bits differ. If both bits are the same (both 0 or both 1), the result bit is 0.

Binary example:

0011   (3)
0101   (5)
----
0110   (6)

Usage Examples[edit]

Simple bitwise XOR:

1 print( bXor(3, 5) )   -- 6

Using Lua's XOR operator (equivalent):

1 print( 3 ~ 5 )        -- 6

Toggling flags with XOR:

1 local FLAG = 0x04
2 local value = 0x04
3 
4 -- Toggle bit 2
5 toggled = bXor(value, FLAG)
6 print(string.format("0x%X", toggled))

Detecting bit differences:

1 local a = 0x0F
2 local b = 0x33
3 local diff = bXor(a, b)
4 print(string.format("Different bits: %X", diff))

Behavior[edit]

  • Returns an integer.
  • Only works on numeric values.
  • Equivalent to Lua's native XOR operator (~) in Cheat Engine.
  • Useful for flag toggling and detecting changed bits.

Advanced Examples[edit]

Clearing bits using XOR (when bit is known to be set):

1 local value = 0x0A   -- 1010
2 local clearBit = 0x02 -- bit 1
3 value = bXor(value, clearBit)
4 print(string.format("0x%X", value))

XOR-based encryption/decryption (simple):

1 local key = 0x55
2 local original = 0x22
3 
4 local encrypted = bXor(original, key)
5 local decrypted = bXor(encrypted, key)
6 
7 print(encrypted, decrypted)

Main Pages

Core Lua documentation entry points

Lua
Script Engine

Bitwise Related Lua Functions

bOr – Bitwise OR
bXor – Bitwise XOR
bAnd – Bitwise AND
bShl – Bitwise Shift Left
bShr – Bitwise Shift Right
bNot – Bitwise NOT