2012-07-02 43 views
1

我知道這個運算符是「AND邏輯運算符」,但我不知道如何處理它,如果它處理十進制數或只是二進制數?運算符「^」的名稱是什麼?

+1

這不是一個C++/CLI的問題,所以有點偏離主題,但對於記錄來說,'^'也是C++/CLI中的託管引用一元運算符。如果你有'String^myString',myString是一個.NET String對象的託管引用(在'int * myInt'中是同樣的方式; myInt是一個指向int的指針)。 – paercebal

+1

*我知道這個操作符是「AND邏輯運算符」*你應該重新訪問你的*知識*,因爲這不是邏輯或。邏輯或C++可以是'和'或'&&'。 –

回答

9

它是在XOR operator

XOR(異或)

該操作兩個比特之間執行(a和b)。結果爲 1如果兩個位中的任何一位爲1,但不是在兩個位都是 的情況下。那裏,如果既不或兩者等於1的結果 是0

0

這是按位XOR操作者(所以不符合邏輯,而不是AND)和十進制數表示爲二進制文件,所以當然它也適用於他們。

邏輯AND是&&,按位AND是&

+0

如果說C++不支持十進制數(理論上浮點數可能以10爲底,但我從來沒有聽說過這種情況下的實現),那麼可能會更準確。有支持十進制數的外部庫。 (但我寧願懷疑這不是OP的想法,並且你的回答解決了他的問題。) –

+0

@JamesKanze:當你說*「C++不支持十進制數」*時,你是什麼意思? *在這種情況下,「十進制數」*是什麼意思? – Nawaz

+0

@Nawaz C++不支持十進制數字。 io庫支持在各種基礎上轉換外部表示,但在內部,標準要求整型類型爲二進制,而我所見過的浮點格式都具有2(2,8或16 )。 –

1

它不是邏輯AND,它是按位異或。它在整數上運行,它們始終是C++中的二進制數,並且可能爲其他類型重載。

+0

'^'操作符也對類型'bool'進行操作,所以它既是按位邏輯也是邏輯異或操作。 –