问题
1 ^ 1
# => 0
1 ^ 2
# => 3
5 ^ 6
# => 3
These are the results I am getting. Can, please, somebody explain how ^
works?
回答1:
It's a bitwise XOR operator.
For each bit in the binary representation of the operands, a bitwise XOR will get a 1 bit if one of the corresponding bits in the operands is 1, but not both, otherwise the XOR will get a 0 bit. Here's an example:
5 = 101
6 = 110
5 ^ 6 = 011 = 3
来源:https://stackoverflow.com/questions/7163093/use-of-caret-symbol-in-ruby