「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2025.01.18
XML
カテゴリ: ネットワーク


**排他的論理和(Exclusive OR, XOR)**は、論理演算の一つで、2つの入力値が異なる場合に「真(1)」を返し、同じ場合には「偽(0)」を返す演算です。XORはデジタル回路や暗号学、アルゴリズム設計などで広く利用されます。


---




| 入力 \(A\) | 入力 \(B\) | \(A \oplus B\)(XORの結果) |

|------------|------------|--------------------------|

| 0          | 0          | 0                        |

| 0          | 1          | 1                        |

| 1          | 0          | 1                        |

| 1          | 1          | 0                        |


---


## XORの性質


1. **交換法則**

   \[

   A \oplus B = B \oplus A

   \]

   順序に関係なく結果は同じ。


2. **結合法則**

   \[

   (A \oplus B) \oplus C = A \oplus (B \oplus C)

   \]

   演算の順序に関係なく結果は同じ。


3. **単位元**

   \[

   A \oplus 0 = A

   \]

   入力の1つが0の場合、もう一方がそのまま結果となる。


4. **自己反転性**

   \[

   A \oplus A = 0

   \]

   同じ値でXORを取ると必ず0になる。


5. **逆元**

   \[

   (A \oplus B) \oplus B = A

   \]

   ある値にXORを2回適用すると元の値に戻る。


---


## XORの用途


1. **デジタル回路**

   - XORゲートは、デジタル回路において基本的な論理ゲートの一つです。

   - 半加算器や多くの演算装置の構成要素として使われます。


2. **暗号学**

   - XORは暗号化やデータの復号で頻繁に使用されます。たとえば、単純な暗号では以下のようにデータと鍵をXORすることで暗号化を行います:

     \[

     暗号文 = データ \oplus 鍵

     \]

     暗号文を復号するには同じ鍵で再びXORを取ります:

     \[

     データ = 暗号文 \oplus 鍵

     \]


3. **アルゴリズム**

   - **ユニーク要素の検出**:

     配列内で1つだけ出現する要素を見つける際、XORを利用することが可能です。同じ要素をXORすると0になる性質を利用します。

   - **ビットの切り替え**:

     指定したビットを反転させる際に使用されます。


4. **誤り検出**

   - パリティチェックやCRC(循環冗長検査)などで利用されます。


---


## 実際の例: 配列内のユニーク要素の検出


例えば、以下の配列があるとします:

\[

[2, 3, 5, 2, 3]

\]


配列内でXORを順に取ると、ユニークな要素(5)が見つかります:

\[

2 \oplus 3 \oplus 5 \oplus 2 \oplus 3 = 5

\]


これは、他の要素がペアで打ち消し合うためです。


---


排他的論理和(XOR)は、そのシンプルさと特性から、幅広い分野で非常に有用な演算です。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2025.01.18 08:52:43


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: