-
XOR explanation...
I have been playing around with XOR and I'm just curious as to how it works. I don't mean the TRUTH Table thing. Here's an example. A and B characters have an ascii value of 65 and 66 respectively. When A XOR B the ascii value is 3(or vice versa). Why is the number 3? What goes on behind the scenes there? Thanks.
-CDudd
-
It's pretty interesting... I wondered about that for a while too. Pretty much this is what happens, assuming you are using, say, a 1-byte variable (char, for example).
Say you have the values A (23) and B (45), this is what it looks like:
Code:
bit 1 2 3 4 5 6 7 8 //memory locations
value A 0 0 1 0 1 1 0 1 //how 45 is represented
value B 0 0 0 1 0 1 1 1 //how 23 is represented
------------------------------ ---XOR---
value C 0 0 1 1 1 0 1 0 //the result, or 58.
I'm not sure about how the bits are numbered, I might have them backwards (i.e. it's 8,7,6,5,4,3,2,1 instead of the other way around), but that's pretty much the idea... Oh, and by the way, was that what you were asking? :D
-
You nailed it!! That's what I suspected, but I just wasn't sure. Thanks for clearing that up. I just don't like things to be black boxes, if you know what I mean :).
-CDudd
-
No problem, I know exactly what you mean :)