C言語では
a ^ b
は、a と bの排他的論理和を行う、のであって、a
のb乗は求まりません。
排他的論理和という演算は、必要としない方にはなかなかなじみの薄い演算で、対して、aのb乗というほうが、(説明などで)使う可能性が高そうです。
このため、2のn乗とかを表記するのに、つい 2^n のような書き方をされるかたがいます。
この表記は BASIC言語での表記で、80年代に BASIC言語が普及したため転じて乗数表現に
^ を使われる方がおられるのですが、この表現がどこまで一般化しているかは不明なのでなんですが、少なくともC言語の入門書や資料の説明で用いるのは誤解の元になるでしょう。