Gibt es etwas falsch mit BitArrays in C #?
Frage
Als ich conpile diesen Code:
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);
}
Ich erhalte die folgende Ausgabe:
True True True
Wenn ich eine xor auf zwei Boolesche Werte mit den Worten: true ^ wahr ich falsch erhalten.
Gibt es etwas falsch mit dem Code. Meine Erinnerung an die Wahrheitstabelle für XOR war, dass True XOR Wahr falsch ist.
Lösung
Kopieren und Einfügen Fehler.
BitArray moreBits = new BitArray(3);
bits[0] = true;
bits[1] = true;
bits[2] = true;
Das sollte sein:
BitArray moreBits = new BitArray(3);
moreBits[0] = true;
moreBits[1] = true;
moreBits[2] = true;
Andere Tipps
Sie setzen bits
zweimal true
. Sie sind nicht die Einstellungen moreBits
true
, so wird standardmäßig all-false
. Ich beschuldige copy / paste!
EDIT: in der kurzen Zeit, es hat mich diese Kent beantwortet zu schreiben und bekam upvoted 8 mal
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow