【发布时间】:2010-10-12 22:01:20
【问题描述】:
当我编译这段代码时:
BitArray bits = new BitArray(3);
bits[0] = true;
bits[1] = true;
bits[2] = true;
BitArray moreBits = new BitArray(3);
bits[0] = true;
bits[1] = true;
bits[2] = true;
BitArray xorBits = bits.Xor(moreBits);
foreach (bool bit in xorBits)
{
Console.WriteLine(bit);
}
我得到以下输出:
真真真假
当我通过说 true ^ true 对两个布尔值进行异或运算时,我得到了 false。
代码有问题吗。我对 XOR 真值表的记忆是 True XOR True 是 false。
【问题讨论】:
-
C# 或 Java 之类的框架几乎从不出错,因为有很多其他人在使用它们并对其进行测试。始终首先检查您自己的代码。在这种情况下,肯特的回答涵盖了它。
-
是的,一旦我注意到这一点,我就尝试删除该问题,但由于他的答案已被投票,我无法删除它。其他人关闭它。
-
为什么要投票?
-
你可以关闭你自己的问题
-
不,你可以投票关闭它,但不能关闭它……我需要多 3 票。并且它再次被投票......我绝望......人们真的会阅读问题吗?至少肯特发现我的白痴得到了一个很好的答案徽章......