【c#】XOR運運算元 - 程式人生

文章推薦指數: 80 %
投票人數:10人

請用通俗的英語解釋一下什麼是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爬蟲入門 新加入文章



請為這篇文章評分?