I'm trying to display a caret (^) in math mode in LaTeX to represent the exclusive or operation implemented in the `C languages'. By default ^ is for creating a superscript in math mode. The closest I can seem to get is by using \wedge which isn't the same.
\^ is an accent character that applies to other characters, \^{4} gives a 4 with a carat on its head. It takes up no horizontal space. if you write $7 \^{} 3 = 4$ you get a 73 with a mark smashed onto both the 7 and the 3. What you need then is to fill out the space a little bit. Through trial and error and a nice application called LatexIt, I found this sequence to work beautifully:
\hspace{1.5} \^{} \hspace{1.5}
This gives a 3 unit width with the carat centered in it, it looks nice.
It is a pointy carat though, and \verb|^| gives a more flattened one that looks more like a monotype font used in programming languages frequently.
You might want to use the common symbol for exclusive or instead, \oplus (but give it a proper name with something like \newcommand\XOR{\oplus}
).
The caret is a bit too small to be noticeable as a binary operator. However, if you do insist using a caret instead, use this:
\newcommand\XOR{\mathbin{\char`\^}}
$x \XOR y$
The \mathbin
puts the right spacing around the symbol for a binary operator, and the \char
ensures that the glyph is obtained from the roman font.
I highly recommend the short math guide which includes a list of symbols.
Use \textasciicircum in text mode. If you are in math mode, you need to use something like $\mbox{\textasciicircum}$