Difference between revisions of "Bit.bxor"
From ComputerCraft Wiki
m (Moved to CAT:APIFunctions) |
m (Mapped "int" to "int (type)".) |
||
Line 4: | Line 4: | ||
|args=[[int (type)|int]] m, [[int (type)|int]] n | |args=[[int (type)|int]] m, [[int (type)|int]] n | ||
|api=bit | |api=bit | ||
− | |returns=[[int]] the value of <var>m</var> XOR <var>n</var> | + | |returns=[[int (type)|int]] the value of <var>m</var> XOR <var>n</var> |
|addon=ComputerCraft | |addon=ComputerCraft | ||
|desc=Computes the bitwise exclusive OR of two numbers | |desc=Computes the bitwise exclusive OR of two numbers |
Revision as of 18:27, 30 November 2012
Function bit.bxor | |
Computes the bitwise exclusive OR of two numbers | |
Syntax | bit.bxor(int m, int n) |
Returns | int the value of m XOR n |
Part of | ComputerCraft |
API | bit |
Examples
Example | |
XOR the number 18 (10010) with the number 3 (00011), yielding 17 (10001) | |
Code |
print(bit.bxor(18, 3)) |
Output | 17 |
Explanation
All bit operations operate in binary numeral system [1]. An exclusive OR operation between two bits yields a 1 if the bits are unequal and a 0 if they are equal. This function produces an output by computing the XOR of each bit of its two inputs independently. So, for the example above:
Bit index: | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|
Input 1 (18): | 1 | 0 | 0 | 1 | 0 |
Input 2 (3): | 0 | 0 | 0 | 1 | 1 |
Calculation: | 1 ≠ 0 | 0 = 0 | 0 = 0 | 1 = 1 | 0 ≠ 1 |
Output (17): | 1 | 0 | 0 | 0 | 1 |