^ =的用途是什么?c#的相反之处是什么?

时间:2016-04-17 04:32:07

标签: c# hex byte

大家好我想知道这个符号是什么" ^"用于c#

这个简单的代码

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;
}

对于c#代码我们有变量数据如何将其转换回main 值或与此操作数据相反的是[i] ^ = Xor [xors];

2 个答案:

答案 0 :(得分:3)

在C#中,^ operatorboolean logical operator,其目的是执行Exclusive or (XOR)操作。

对于bool操作数,只有当两个操作数中的一个为真时,此操作的结果才会返回true,这意味着:

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

对于积分操作数,它执行按位异或,示例(在括号中显示二进制表示):

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)

^= operator 将对左右操作数执行相同的操作,这意味着x ^ = y与x = x ^ y相同。

XOR的真值表可以帮助理解:

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

答案 1 :(得分:0)

它是一个二元运算符,Binary ^运算符是为整数类型和bool

预定义的

x ^= y 被评估为x = x ^ y

基本上^运算符允许

// 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);

有关运营商@ https://msdn.microsoft.com/en-us/library/0zbsw2z6.aspx&amp;的更多信息https://msdn.microsoft.com/en-us/library/zkacc7k1.aspx