variable operator for example and ruby operators caret

operator - Uso del símbolo de caret(^) en Ruby



ruby ||= (1)

1 ^ 1 # => 0 1 ^ 2 # => 3 5 ^ 6 # => 3

Estos son los resultados que estoy obteniendo. ¿Puede alguien por favor explicar cómo funciona?


Es un operador XOR a nivel de bit.

Para cada bit en la representación binaria de los operandos, un XOR bit a bit obtendrá un bit 1 si uno de los bits correspondientes en los operandos es 1, pero no ambos, de lo contrario, el XOR obtendrá un bit 0. Aquí hay un ejemplo:

5 = 101 6 = 110 5 ^ 6 = 011 = 3