2012-07-02 113 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'进行操作,所以它既是按位逻辑也是逻辑异或操作。 –