• ベストアンサー

^について

質問ですが例えば2^2とCでプログラミングをすると0となり2^4とすると6となるのですがこれはなぜでしょうか。^は排他的論理和だと思うのですが違うのでしょうか。なぜ0となったり6となったりするかわかりません。もしよろしければご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

2と2の場合 2を2進数にすると (00000010) (00000010) これの排他的論理和(xor)は (00000000) だから0 2と4の排他的論理和 (00000010)=2 (00000100)=4 は (00000110)=6 排他的論理輪 0 xor 0 = 0 1 xor 1 = 0 0 xor 1 = 1 1 xor 0 = 1

noname#105193
質問者

お礼

最初の方に引き続きわかりやすい説明ありがとうございました。

その他の回答 (1)

回答No.1

^はビットごとの排他的論理和(XOR)を取ります。 2 ^ 2: 0010 と 0010 のXOR だから 0000 = 0 2 ^ 4: 0010 と 0100 のXOR だから 0110 = 6

noname#105193
質問者

お礼

早速のご回答ありがとうございます。そうですか排他的論理和だったのですね。考え方がとてもわかりやすいです。おかげですっきりしました。

関連するQ&A