Difference between revisions of "Bit.bxor"
From ComputerCraft Wiki
(Rewrite) |
m (Moved to CAT:APIFunctions) |
||
| Line 55: | Line 55: | ||
| 1 | | 1 | ||
|} | |} | ||
| + | |||
| + | [[Category:API_Functions]] | ||
Revision as of 18:28, 28 November 2012
| 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
| 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 |