2016-04-17 4 views
0

hallo Jungs Ich möchte wissen, was dieses Symbol ist „^“ für # in c verwendenWas die Verwendung von^ist = und was ist das Gegenteil davon C#

für diesen einfachen Code

public static Byte[] Xor = new Byte[] {0x77, 0xE8, 0x5E, 0xEC, 0xB7}; 
public static Byte[] data = new Byte[5]; 

static byte[] convertsomething(){ 
       Byte xors = 0; 

      for (int i = 0; i < 100; i++) 
      { 
       data[i] ^= Xor[xors]; 
       xors++; 
      } 
        return data; 
} 

Für den C# -Code haben wir die variablen Daten, wie man sie zurück in die Hauptwerte oder was ist das Gegenteil dieser Operation Daten [i]^= Xor [xors];

+2

xor * ist * das 'Gegenteil' von xor. '(a xor b) xoder b == a' – Rob

+0

Haben Sie versucht nach" C#^operator "zu suchen? – Tibrogargan

+0

ja ich suchte, aber ich habe nicht verstanden, wie es mit binär funktioniert –

Antwort

3

In C# ist der ^ operator ein boolean logical operator, dessen Zweck es ist, die Exclusive or (XOR) Operation durchzuführen.

Für bool Operanden, wird das Ergebnis dieser Operation true zurück nur dann, wenn einer der beiden Operanden wahr ist, bedeutet dies, dass:

true^true // Will return false 
false^false // Will return false 
true^false // Will return true 

für Integral-Operanden, führen sie die bitweise Exklusiv-ODER-Beispiele (in Klammern sind die binäre Darstellung angezeigt):

1 (1)^1 (1) // Will return 0 (0) 
0 (0)^0 (0) // Will return 0 (0) 
1 (1)^0 (0) // Will return 1 (1) 
2 (10)^1 (1) // Will return 3 (11) 
15 (1111)^5 (101) // Will return 10 (1010) 

die ^= operator wird die gleiche Operation mit den linken und rechten Operanden durchzuführen, bedeutet es, dass x^y = die gleiche wie x = x^y ist.

Die Wahrheitstabelle von XOR kann helfen, verstehen:

 
A B Result
0 0 0
0 1 1
1 0 1
1 1 0
0

Es ist ein binärer Operator, Binary^Operatoren sind für die integrierten Typen und Bool vordefiniert

x ^= y als x = x^y

Grundsätzlich bewertet wird, was der Operator^über

// When one operand is true and the other is false, exclusive-OR 
// returns True. 
Console.WriteLine(true^false); 
// When both operands are false, exclusive-OR returns False. 
Console.WriteLine(false^false); 
// When both operands are true, exclusive-OR returns False. 
Console.WriteLine(true^true); 

Weitere Informationen erlaubt Operatoren @https://msdn.microsoft.com/en-us/library/0zbsw2z6.aspx & https://msdn.microsoft.com/en-us/library/zkacc7k1.aspx

Verwandte Themen