07. XOR — исключающее ИЛИ
07. XOR — исключающее ИЛИ
🎯 Цель урокаПонять XOR — ключевой элемент для сумматоров и криптографии.
🧠 Теория (10 мин)
Таблица истинности XOR
| A | B | A XOR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
🧠 ЗапоминалкаXOR = 1 когда входы РАЗНЫЕ Исключающее ИЛИ — или A, или B, но не оба!
XOR vs OR
| A | B | OR | XOR |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 0 ← разница! |
Формула XOR
Или через NAND:
$$A \oplus B = ((A \text{ NAND } (A \text{ NAND } B)) \text{ NAND } (B \text{ NAND } (A \text{ NAND } B)))$$Нужно 4 NAND для XOR — сложновато, поэтому есть готовый чип!
📦 Микросхема 74HC86
┌───────────────────┐
1A ──┤ 1 14 ├── VCC
1B ──┤ 2 13 ├── 4B
1Y ──┤ 3 74HC86 12 ├── 4A
2A ──┤ 4 11 ├── 4Y
2B ──┤ 5 10 ├── 3B
2Y ──┤ 6 9 ├── 3A
GND ──┤ 7 8 ├── 3Y
└───────────────────┘
4 вентиля XOR с 2 входами.
🔧 Практика (20 мин)
Схема: Детектор различия
DIP-переключатель A ─── Pin 1
├── Pin 3 ── LED
DIP-переключатель B ─── Pin 2
| Переключатель A | Переключатель B | LED |
|---|---|---|
| Вниз (0) | Вниз (0) | 🔴 Не горит |
| Вниз (0) | Вверх (1) | 🟢 Горит |
| Вверх (1) | Вниз (0) | 🟢 Горит |
| Вверх (1) | Вверх (1) | 🔴 Не горит |
LED горит когда переключатели в РАЗНЫХ позициях!
💡 Применение XOR
1. Полусумматор
XOR даёт сумму без учёта переноса — основа арифметики!
2. Контроль чётности
Бит 1 ──┐
├── XOR ──┐
Бит 2 ──┘ ├── XOR ──┐
│ ├── XOR ── Чётность
Бит 3 ────────────┘ │
│
Бит 4 ──────────────────────┘
Если результат = 1, то нечётное количество единиц.
3. Переключатель (Toggle)
- Если Old = 0: 0 XOR 1 = 1
- Если Old = 1: 1 XOR 1 = 0
XOR с 1 инвертирует бит!
4. Шифрование
XOR — основа многих криптоалгоритмов!
📝 Мини-задания
🧮 Свойства XOR
| Свойство | Формула |
|---|---|
| Коммутативность | $A \oplus B = B \oplus A$ |
| Ассоциативность | $(A \oplus B) \oplus C = A \oplus (B \oplus C)$ |
| Нейтральный элемент | $A \oplus 0 = A$ |
| Самообратность | $A \oplus A = 0$ |
| Инверсия | $A \oplus 1 = \overline{A}$ |
✅ Чеклист
- Знаю таблицу истинности XOR
- Понимаю отличие от OR
- Собрал детектор различия
- Знаю применения XOR
