[Java] 邏輯運算子 XOR

Zhao Chen
2 min readMay 31, 2020

最近開始重讀 Java,這篇文章是寫一些關於邏輯運算子 - XOR 的實作。

如果你想閱讀英文版本,可以點 這裡

XOR

XOR 的全名是 exclusive orexclusive disjunction,中文稱為互斥或,也就是當兩個輸入不同時輸出才為 true。以下為 XOR 的真值表。

與其它邏輯運算子不同,XOR 具有可逆性,舉個例子,

Set X = 0010, Y = 1001, Z = X XOR Y
Z = X XOR Y = 0010 XOR 1001 = 1011
Z XOR X = 1011 XOR 0010 = 1001 = Y
Z XOR Y = 1011 XOR 1001 = 0010 = X

利用其特性,有以下幾種運用。

  • 加密

輸入 / 輸出

Please enter a password with a length of 6–12
jifjiVNE45
Password:jifjiVNE45
Encryption:W⁰}pb
Decrypt:jifjiVNE45

  • 變數值互換

輸入 / 輸出

Please enter two integer.
15 89
89 15

以上是有關XOR的一些練習,如果有任何建議,歡迎在下面留言讓我知道,謝謝 🙌 🙌

--

--