[英]What in the world does a ^= operator do?
我正在查看置換代碼,並試圖了解其工作方式,但是一次操作讓我感到茫然: ^=
。 Google不會讓我搜索這些字符,所以誰能告訴我它在做什么,這個運算符是什么意思? 您可以在下面看到一個示例。 謝謝!
private void swap(ref char a, ref char b)
{
if (a == b)
return;
a ^= b;
b ^= a;
a ^= b;
}
從MSDN :
形式的表達
x ^= y
被評估為
x = x ^ y
除了x僅被評估一次 。 因此,如果您的x
是一個屬性,它將被調用一次以get
並set
一次值。
^
( XOR
)運算符對整數操作數執行按位exclusive-OR
運算,對布爾操作數執行邏輯exclusive-OR
運算(模2
總和):
false ^ false = false;
false ^ true = true;
true ^ false = true;
true ^ true = false;
XOR
運算符在密碼學中非常有用,因為它的主要特性是
a ^ b ^ a == b;
因此,您的代碼只需將兩個變量的值相加即可交換它們。
一個^ = B存儲在^ b,即異或的a和b 的值。
它是“異或”賦值運算符。
您可以在此處了解更多信息: https : //msdn.microsoft.com/zh-cn/library/0zbsw2z6.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.