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.

War es hilfreich?

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
scroll top