# CHAPTER 3: HARDWARE AND COMPUTER COMPONENTS

## 3.1 COMPUTERS AND THEIR COMPONENTS

### 3.1.1 General-Purpose Computer System

A general-purpose computer system comprises:

1. **Processor (CPU):** Executes instructions
2. **Memory:** Stores data and instructions
3. **Input/Output (I/O):** Interfaces with external world

### 3.1.2 Essential Features of a Computer

**Input:**

- Takes in data from the outside world
- Devices: keyboard, mouse, scanner, microphone

**Output:**

- Displays data for human understanding
- Devices: monitor, printer, speaker

**Primary Storage (Memory):**

- Main memory storing critical program instructions and data
- RAM (Random Access Memory)
- Volatile (loses data when power off)

**Secondary Storage:**

- Non-volatile storage for data
- Examples: hard disk, SSD, USB flash drive

**Removable Secondary Storage:**

- File backup and archives
- Portable transfer of files

### 3.1.3 Embedded Systems

**Definition:** Miniature computer systems (microprocessors) that are often part of a larger system.

**Characteristics:**

- Perform few specific functions
- Not general-purpose computers
- No moving parts (more reliable)

**Advantages:**

- Reliable (no moving parts)
- Require less power
- Cheap to mass-produce

**Disadvantages:**

- Difficult to program (no interface)
- Expensive expert help needed for repair

### 3.1.4 Hardware Device Operations

**Laser Printer:**

1. Laser beam and rotating mirrors draw image on photosensitive drum
2. Image converted to electric charge
3. Charged toner attracts to image
4. Electrostatic-charged paper rolls against drum
5. Charge pulls toner onto paper
6. Heat in fuser fuses toner to paper

**3D Printer:**

1. Starts with saved digital file (blueprint)
2. Object built by adding layers of material (polymer resin)
3. Object cured (hardened by UV light)

**Microphone:**

1. Sound waves enter and cause diaphragm vibrations
2. Vibrations cause coil to move past magnetic core
3. Electrical current generated
4. Current digitized

**Speaker:**

1. Takes electrical signals
2. Voice coil generates electromagnetic field
3. Change in audio signal changes current direction
4. Electromagnet attracted/repelled to permanent magnet
5. Diaphragm vibrates, creating sound waves

**Magnetic Hard Disk:**

1. Platters covered with magnetizable material
2. Mounted on central spindle, rotated at high speed
3. Surface divided into concentric tracks &amp; sectors
4. Data encoded as magnetic patterns
5. Read/write heads access data

**Solid State (Flash) Memory:**

- Uses NAND-based flash memory
- Grid of columns &amp; rows with 2 transistors at each intersection
- Floating gate stores electrons (represents 0 or 1)
- Control gate controls charge flow

**Optical Disc Reader/Writer:**

1. Disc surface has reflective metal layer
2. Spun at high speed
3. Laser beam reads/writes
4. Tracks have amorphous and crystalline states
5. Different states encode bit patterns

**Touchscreen:**

<div class="sc-fYRIQK gLjTUz table-wrapper" id="bkmrk-type-description-res" style="box-sizing: border-box; font-weight: 400; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: relative; color: rgb(0, 0, 0); font-family: "', Ubuntu, -apple-system, 'system-ui', 'Segoe UI', system-ui, Roboto, Oxygen, Cantarell, 'Open Sans', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji"; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><table style="box-sizing: border-box; font-weight: normal; border-image: none 100% / 1 / 0 stretch; margin: 2em 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); text-indent: 0px; border-collapse: separate; -webkit-tap-highlight-color: transparent; --table-border-radius: 8px; font-size: 0.9em; width: 647px; border-radius: 8px; overflow: hidden; border-spacing: 0px; border: 0.5px solid rgba(0, 0, 0, 0.098);"><thead style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Type</th><th style="box-sizing: border-box; font-weight: 600; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Description</th></tr></thead><tbody style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Resistive</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Two charged plates; pressure causes contact</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Capacitive</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Materials that store electric charge; touch transfers charge</td></tr></tbody></table>

<div class="sc-MHKXp dNlhAz table-toolbar" style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: absolute; top: 8px; right: 8px; z-index: 10; display: flex; gap: 4px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; transform: translateZ(0px); will-change: opacity;">  
</div></div>### 3.1.5 Memory Types

**RAM vs ROM:**

<div class="sc-fYRIQK gLjTUz table-wrapper" id="bkmrk-feature-ram-rom-vola" style="box-sizing: border-box; font-weight: 400; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: relative; color: rgb(0, 0, 0); font-family: "', Ubuntu, -apple-system, 'system-ui', 'Segoe UI', system-ui, Roboto, Oxygen, Cantarell, 'Open Sans', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji"; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><table style="box-sizing: border-box; font-weight: normal; border-image: none 100% / 1 / 0 stretch; margin: 2em 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); text-indent: 0px; border-collapse: separate; -webkit-tap-highlight-color: transparent; --table-border-radius: 8px; font-size: 0.9em; width: 647px; border-radius: 8px; overflow: hidden; border-spacing: 0px; border: 0.5px solid rgba(0, 0, 0, 0.098);"><thead style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Feature</th><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">RAM</th><th style="box-sizing: border-box; font-weight: 600; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">ROM</th></tr></thead><tbody style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Volatility</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Volatile (loses data when power off)</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Non-volatile</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Read/Write</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Can be read and written</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Can only be read</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Use</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Stores currently executing program</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Stores OS kernel, boot-up instructions</td></tr></tbody></table>

<div class="sc-MHKXp dNlhAz table-toolbar" style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: absolute; top: 8px; right: 8px; z-index: 10; display: flex; gap: 4px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; transform: translateZ(0px); will-change: opacity;">  
</div></div>**Static RAM vs Dynamic RAM:**

<div class="sc-fYRIQK gLjTUz table-wrapper" id="bkmrk-feature-sram-dram-re" style="box-sizing: border-box; font-weight: 400; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: relative; color: rgb(0, 0, 0); font-family: "', Ubuntu, -apple-system, 'system-ui', 'Segoe UI', system-ui, Roboto, Oxygen, Cantarell, 'Open Sans', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji"; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><table style="box-sizing: border-box; font-weight: normal; border-image: none 100% / 1 / 0 stretch; margin: 2em 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); text-indent: 0px; border-collapse: separate; -webkit-tap-highlight-color: transparent; --table-border-radius: 8px; font-size: 0.9em; width: 647px; border-radius: 8px; overflow: hidden; border-spacing: 0px; border: 0.5px solid rgba(0, 0, 0, 0.098);"><thead style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Feature</th><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">SRAM</th><th style="box-sizing: border-box; font-weight: 600; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">DRAM</th></tr></thead><tbody style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Refresh</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Doesn't need to refresh</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Must be refreshed</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Speed</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Faster access time</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Slower access time</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Power</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Uses less power</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Needs higher power</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Cost</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">More expensive (complex circuitry)</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Less expensive</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Structure</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Each bit stored in flip-flop</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Each bit stored as charge in capacitor</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Density</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Lower data density</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Higher data density</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Use</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Cache memory</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Main memory</td></tr></tbody></table>

<div class="sc-MHKXp dNlhAz table-toolbar" style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: absolute; top: 8px; right: 8px; z-index: 10; display: flex; gap: 4px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; transform: translateZ(0px); will-change: opacity;">  
</div></div>**PROM vs EPROM vs EEPROM:**

<div class="sc-fYRIQK gLjTUz table-wrapper" id="bkmrk-type-description-era" style="box-sizing: border-box; font-weight: 400; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: relative; color: rgb(0, 0, 0); font-family: "', Ubuntu, -apple-system, 'system-ui', 'Segoe UI', system-ui, Roboto, Oxygen, Cantarell, 'Open Sans', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji"; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><table style="box-sizing: border-box; font-weight: normal; border-image: none 100% / 1 / 0 stretch; margin: 2em 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); text-indent: 0px; border-collapse: separate; -webkit-tap-highlight-color: transparent; --table-border-radius: 8px; font-size: 0.9em; width: 647px; border-radius: 8px; overflow: hidden; border-spacing: 0px; border: 0.5px solid rgba(0, 0, 0, 0.098);"><thead style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Type</th><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Description</th><th style="box-sizing: border-box; font-weight: 600; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Erasure Method</th></tr></thead><tbody style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">PROM</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Programmable once after creation</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Cannot be erased</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">EPROM</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Can be reprogrammed</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">UV light exposure</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">EEPROM</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Can be reprogrammed</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">Electrical signal</td></tr></tbody></table>

<div class="sc-MHKXp dNlhAz table-toolbar" style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: absolute; top: 8px; right: 8px; z-index: 10; display: flex; gap: 4px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; transform: translateZ(0px); will-change: opacity;">  
</div></div>### 3.1.6 Monitoring and Control Systems

**Monitoring System:**

- Monitors state external to computer
- No changes made to environment
- No feedback required

**Control System:**

- Regulates behaviour of other devices/systems
- **Event-driven:** Responds to specific events
- **Time-driven:** Takes action at specific times

**Components:**

- **Sensor:** Measures analogue property, transmits to processing unit
- **Actuator:** Switches on/off heavy appliances (heater, fan)
- **ADC:** Converts analogue signals to digital
- **Transmission cable:** Transfers signals

**Feedback Systems:**

- Output affects input of sensors
- Ensures system operates within criteria
- Enables automatic adjustment of conditions

---

## 3.2 LOGIC GATES AND LOGIC CIRCUITS

### 3.2.1 Basic Logic Gates

**AND Gate:**

- Output is HIGH only if ALL inputs are HIGH
- Symbol: A · B or A AND B

<div class="sc-fYRIQK gLjTUz table-wrapper" id="bkmrk-a-b-output-0-0-0-0-1" style="box-sizing: border-box; font-weight: 400; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: relative; color: rgb(0, 0, 0); font-family: "', Ubuntu, -apple-system, 'system-ui', 'Segoe UI', system-ui, Roboto, Oxygen, Cantarell, 'Open Sans', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji"; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><table style="box-sizing: border-box; font-weight: normal; border-image: none 100% / 1 / 0 stretch; margin: 2em 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); text-indent: 0px; border-collapse: separate; -webkit-tap-highlight-color: transparent; --table-border-radius: 8px; font-size: 0.9em; width: 647px; border-radius: 8px; overflow: hidden; border-spacing: 0px; border: 0.5px solid rgba(0, 0, 0, 0.098);"><thead style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">A</th><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">B</th><th style="box-sizing: border-box; font-weight: 600; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Output</th></tr></thead><tbody style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr></tbody></table>

<div class="sc-MHKXp dNlhAz table-toolbar" style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: absolute; top: 8px; right: 8px; z-index: 10; display: flex; gap: 4px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; transform: translateZ(0px); will-change: opacity;">  
</div></div>**OR Gate:**

- Output is HIGH if ANY input is HIGH
- Symbol: A + B or A OR B

<div class="sc-fYRIQK gLjTUz table-wrapper" id="bkmrk-a-b-output-0-0-0-0-1-1" style="box-sizing: border-box; font-weight: 400; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: relative; color: rgb(0, 0, 0); font-family: "', Ubuntu, -apple-system, 'system-ui', 'Segoe UI', system-ui, Roboto, Oxygen, Cantarell, 'Open Sans', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji"; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><table style="box-sizing: border-box; font-weight: normal; border-image: none 100% / 1 / 0 stretch; margin: 2em 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); text-indent: 0px; border-collapse: separate; -webkit-tap-highlight-color: transparent; --table-border-radius: 8px; font-size: 0.9em; width: 647px; border-radius: 8px; overflow: hidden; border-spacing: 0px; border: 0.5px solid rgba(0, 0, 0, 0.098);"><thead style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">A</th><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">B</th><th style="box-sizing: border-box; font-weight: 600; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Output</th></tr></thead><tbody style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr></tbody></table>

<div class="sc-MHKXp dNlhAz table-toolbar" style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: absolute; top: 8px; right: 8px; z-index: 10; display: flex; gap: 4px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; transform: translateZ(0px); will-change: opacity;">  
</div></div>**NOT Gate (Inverter):**

- Output is opposite of input
- Symbol: A or NOT A

<div class="sc-fYRIQK gLjTUz table-wrapper" id="bkmrk-a-output-0-1-1-0" style="box-sizing: border-box; font-weight: 400; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: relative; color: rgb(0, 0, 0); font-family: "', Ubuntu, -apple-system, 'system-ui', 'Segoe UI', system-ui, Roboto, Oxygen, Cantarell, 'Open Sans', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji"; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><table style="box-sizing: border-box; font-weight: normal; border-image: none 100% / 1 / 0 stretch; margin: 2em 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); text-indent: 0px; border-collapse: separate; -webkit-tap-highlight-color: transparent; --table-border-radius: 8px; font-size: 0.9em; width: 647px; border-radius: 8px; overflow: hidden; border-spacing: 0px; border: 0.5px solid rgba(0, 0, 0, 0.098);"><thead style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">A</th><th style="box-sizing: border-box; font-weight: 600; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Output</th></tr></thead><tbody style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr></tbody></table>

<div class="sc-MHKXp dNlhAz table-toolbar" style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: absolute; top: 8px; right: 8px; z-index: 10; display: flex; gap: 4px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; transform: translateZ(0px); will-change: opacity;">  
</div></div>### 3.2.2 NAND and NOR Gates

**NAND Gate:**

- Opposite of AND (NOT-AND)
- Symbol: A · B

<div class="sc-fYRIQK gLjTUz table-wrapper" id="bkmrk-a-b-output-0-0-1-0-1" style="box-sizing: border-box; font-weight: 400; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: relative; color: rgb(0, 0, 0); font-family: "', Ubuntu, -apple-system, 'system-ui', 'Segoe UI', system-ui, Roboto, Oxygen, Cantarell, 'Open Sans', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji"; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><table style="box-sizing: border-box; font-weight: normal; border-image: none 100% / 1 / 0 stretch; margin: 2em 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); text-indent: 0px; border-collapse: separate; -webkit-tap-highlight-color: transparent; --table-border-radius: 8px; font-size: 0.9em; width: 647px; border-radius: 8px; overflow: hidden; border-spacing: 0px; border: 0.5px solid rgba(0, 0, 0, 0.098);"><thead style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">A</th><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">B</th><th style="box-sizing: border-box; font-weight: 600; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Output</th></tr></thead><tbody style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr></tbody></table>

<div class="sc-MHKXp dNlhAz table-toolbar" style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: absolute; top: 8px; right: 8px; z-index: 10; display: flex; gap: 4px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; transform: translateZ(0px); will-change: opacity;">  
</div></div>**NOR Gate:**

- Opposite of OR (NOT-OR)
- Symbol: A + B

<div class="sc-fYRIQK gLjTUz table-wrapper" id="bkmrk-a-b-output-0-0-1-0-1-1" style="box-sizing: border-box; font-weight: 400; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: relative; color: rgb(0, 0, 0); font-family: "', Ubuntu, -apple-system, 'system-ui', 'Segoe UI', system-ui, Roboto, Oxygen, Cantarell, 'Open Sans', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji"; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><table style="box-sizing: border-box; font-weight: normal; border-image: none 100% / 1 / 0 stretch; margin: 2em 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); text-indent: 0px; border-collapse: separate; -webkit-tap-highlight-color: transparent; --table-border-radius: 8px; font-size: 0.9em; width: 647px; border-radius: 8px; overflow: hidden; border-spacing: 0px; border: 0.5px solid rgba(0, 0, 0, 0.098);"><thead style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">A</th><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">B</th><th style="box-sizing: border-box; font-weight: 600; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Output</th></tr></thead><tbody style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr></tbody></table>

<div class="sc-MHKXp dNlhAz table-toolbar" style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: absolute; top: 8px; right: 8px; z-index: 10; display: flex; gap: 4px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; transform: translateZ(0px); will-change: opacity;">  
</div></div>### 3.2.3 XOR Gate

**XOR (Exclusive OR):**

- Output is HIGH if inputs are DIFFERENT
- Symbol: A ⊕ B

<div class="sc-fYRIQK gLjTUz table-wrapper" id="bkmrk-a-b-output-0-0-0-0-1-2" style="box-sizing: border-box; font-weight: 400; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: relative; color: rgb(0, 0, 0); font-family: "', Ubuntu, -apple-system, 'system-ui', 'Segoe UI', system-ui, Roboto, Oxygen, Cantarell, 'Open Sans', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji"; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><table style="box-sizing: border-box; font-weight: normal; border-image: none 100% / 1 / 0 stretch; margin: 2em 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); text-indent: 0px; border-collapse: separate; -webkit-tap-highlight-color: transparent; --table-border-radius: 8px; font-size: 0.9em; width: 647px; border-radius: 8px; overflow: hidden; border-spacing: 0px; border: 0.5px solid rgba(0, 0, 0, 0.098);"><thead style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">A</th><th style="box-sizing: border-box; font-weight: 600; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">B</th><th style="box-sizing: border-box; font-weight: 600; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; background-color: rgb(238, 238, 238); text-align: left;">Output</th></tr></thead><tbody style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-width: 0px 0.5px 0.5px 0px; border-style: solid; border-color: oklch(0.92 0.004 286.32) rgba(0, 0, 0, 0.098) rgba(0, 0, 0, 0.098) oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: 0.5px solid rgba(0, 0, 0, 0.098); border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td></tr><tr style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;"><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: 0.5px solid rgba(0, 0, 0, 0.098); border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">1</td><td style="box-sizing: border-box; font-weight: normal; border-top: 0px solid oklch(0.92 0.004 286.32); border-right: none; border-bottom: none; border-left: 0px solid oklch(0.92 0.004 286.32); border-image: initial; margin: 0px; padding: 0.5em; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent;">0</td></tr></tbody></table>

<div class="sc-MHKXp dNlhAz table-toolbar" style="box-sizing: border-box; font-weight: normal; border: 0px solid oklch(0.92 0.004 286.32); margin: 0px; padding: 0px; outline-color: oklab(0.705 0.00415142 -0.0144141 / 0.5); -webkit-tap-highlight-color: transparent; position: absolute; top: 8px; right: 8px; z-index: 10; display: flex; gap: 4px; border-radius: 4px; opacity: 0; transition: opacity 0.2s; transform: translateZ(0px); will-change: opacity;">  
</div></div>### 3.2.4 Constructing Circuits from Truth Tables

**Process:**

1. Identify required output for each input combination
2. Identify the logic expression
3. Design the circuit using appropriate gates
4. Test with truth table