Quais são os | e ^ operadores usados para? [duplicado]

Possível duplicado:
O que são operadores bit a bit?

Recentemente me deparei com algumas amostras que usavam o | e ^ operador. Eu estou supondo que estes sãoor enegation operadores.

Então, o que esses operadores realmente representam?