Operador de asignación y XOR bit a bit (^=)
Realiza una operación OR exclusiva bit a bit en el valor de una variable y en el de una expresión, y asigna el resultado a la variable.
result ^= expression
Argumentos
result
Cualquier variable numérica.expression
Cualquier expresión numérica.
Comentarios
Si se utiliza este operador, el resultado es prácticamente el mismo que si se especifica result = result ^ expression, con la diferencia de que result se evalúa sólo una vez.
El operador ^= convierte los argumentos en tipos de datos coincidentes. Entonces, el operador ^= examina la representación binaria de los valores de las dos expresiones y realiza una operación OR exclusiva bit a bit en ellos. El resultado de esta operación se comporta de la siguiente manera:
0101 (result)
1100 (expression)
----
1001 (result)
Si una y sólo una de las expresiones tiene un 1 en un dígito, el resultado tendrá un 1 en ese dígito. En caso contrario, el resultado tendrá un 0 en ese dígito.