nt main()
{
cout << ('a'^'b');
}
当我写这个简单的代码(在C ++中)程序给出&#34; 3&#34;输出。但它一定是&#34; 1&#34;。 你知道为什么吗? xor运算符有问题??
答案 0 :(得分:0)
XOR没有问题,3的结果是正确的。
'a' XOR 'b'
-> 0x61 XOR 0x62 (hex, per ASCII)
-> 01100001 XOR 01100010 (binary)
-> 00000011 (only these bits differ)
-> 3 (decimal)
考虑以下内容,即1 - 为什么?
'`' ^ 'a'