Use of caret

Can someone please explain the meaning of the caret in this code statement,

"switchstate=switchstate^3;"

in KenF's posting in the following forum topic from 2014:

Thank you very much.

Bitwise Exclusive OR