El operador ^ es el XOR. Se utiliza bastante cuando se hacen operaciones a nivel de bits, en algoritmos de encriptación, compresión y similares.
Se van comparando uno a uno los bits de cada operador, y se retorna 1 (en cada bit) cuando solo un bit tiene valor 1, y se retorna 0 (en cada bit) cuando ambos bits son iguales.
Puedes ver un ejemplo aqui:
http://web.singnet.com.sg/~xymedia/j...eOrXOROperator