【c#】XOR運運算元 - 程式人生
文章推薦指數: 80 %
請用通俗的英語解釋一下什麼是xor( ^ )運算子,它在下面的程式碼中是做什麼的: public int GetHashCode(Box bx) { int hCode = bx.Height ^ bx.
程式人生>c#>XOR運運算元
【c#】XOR運運算元
阿新••發佈:2020-12-12
請用通俗的英語解釋一下什麼是xor(^)運算子,它在下面的程式碼中是做什麼的:publicintGetHashCode(Boxbx)
{
inthCode=bx.Height^bx.Length^bx.Width;
returnhCode.GetHashCode();
}
解決辦法
xor代表exclusiveor。
它確保a或b都是真的,但決不是兩者都是。
在這種情況下,我們做一個按位運算,這樣你就可以畫出一個很好的結果圖,如下所示;0^1=1
1^1=0
1^0=1
0^0=0
由於要將其應用於整數,因此上述結果將應用於運算元中的每個位。
所以,假設您的高度、長度和寬度分別為1、2、3。
你應該先0001^0010導致0011,那麼它將被異或為3,所以0011^0011,給你0000編輯:從評論中提供wiki連結以補充我的解釋;http://en.wikipedia.org/wiki/Exclusive_or#Computer_science編輯:為什麼0001^0010會導致0011?所以最好一點一點地做。
想象一下運算子在兩組位上迭代並比較它們的對。
所以在這種情況下,讓我們從右到左工作(在這種情況下,從最不重要到最重要)。
1^0=1//xxx1
0^1=1//xx11
0^0=0//x011
0^0=0//0011-endofinput
所以把它們拼湊起來就可以得到0011。
基本上,取每一對輸入,並參考結果的真值表。
註釋顯示了x是尚未計算的值的輸出。
關於碰撞,是的,在這種情況下有很多碰撞。
如果我說它是獨一無二的,那是一個糟糕的詞彙選擇。
我真正的意思是,如果你有2,8,4作為你的價值觀,那麼它們的順序總是相同的。
找不到型別或namespaceCompare(您是否缺少using指令或程式集引用?)
«上一篇
獲取從WPF應用程式安裝的所有winrt/metro應用程式的本地化友好名稱下一篇»
相關推薦
XOR運運算元
在陣列的int運算元上按位XOR的工作
是否有任何XOR位縮減運算元或函式?
Java中多個運算元的按位XOR
XOR運運算元無法在C++中正確評估
JavaScript中是否有“nullcoalescing”運運算元?
jQuery計運算元元素
JavaScript中的instanceof運運算元是什麼?
delete[]“know”如何運算元陣列的大小?
Python中是否有“notequal”運運算元?
搜尋
基礎教學
Mysql入門
Sql入門
Android入門
Docker入門
Go語言入門
Ruby程式入門
Python入門
Python進階
Django入門
Python爬蟲入門
新加入文章
延伸文章資訊
- 1位元運算子(二進制) - iT 邦幫忙
... 與運算子(+、-、*、/、>、<....等)-來用C#算數學吧!(下). C#與ASP.Net入門-我要成為工程師!! 系列第9 篇 ... XOr(互斥), 當A跟B都是或都是1,結果...
- 2c# - Conditional XOR? - Stack Overflow
There is no such thing as conditional (short-circuiting) XOR. Conditional operators are only mean...
- 3【c#】XOR運運算元 - 程式人生
請用通俗的英語解釋一下什麼是xor( ^ )運算子,它在下面的程式碼中是做什麼的: public int GetHashCode(Box bx) { int hCode = bx.Height ...
- 4布林值邏輯運算子- C# 參考
^ 運算子會計算其運算元的邏輯互斥OR,其也稱為邏輯XOR。 如果 x 評估為 true 且 y 評估為 false ,或是 x 評估為 false 且 ...
- 5[邏輯運算] 利用互斥進行兩數互換
II. 程式. 以往的做法會宣告一個temp 變數來當互換的暫存如果利用XOR 寫法就變的非常簡單,只要三行就完成互換的動作 ( ^ 為C#語法中的XOR 運算子).