A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Binary Adders: Half-Adders and Full-Adders

College Depth 83 in the knowledge graph ☐ I know this ☆ Set as goal
213topics build on this
338prerequisites beneath it
See this on the map →
Binary ArithmeticBinary Counters: Design and Analysis+3 more→→Arithmetic Logic Unit (ALU)Full Adder and Carry Propagation
adders binary arithmetic

Core Idea

Half-adders add two bits without carry-in; full-adders add three bits (two operands plus carry-in). Cascading full-adders creates ripple-carry adders for multi-bit addition, the basis of arithmetic in processors.

Explainer

You already know how binary arithmetic works on paper — adding columns of 1s and 0s, carrying a 1 when a column sums to 2 or 3. Binary adder circuits do exactly this in hardware, and they are built from the Boolean logic gates you studied in Boolean algebra. The simplest building block is the half-adder, which adds two single-bit inputs (A and B) and produces two outputs: a sum bit and a carry bit. The sum is A XOR B (1 when the inputs differ), and the carry is A AND B (1 only when both inputs are 1). This mirrors the paper algorithm perfectly: 0+0=00, 0+1=01, 1+0=01, 1+1=10.

The half-adder has a limitation: it has no input for an incoming carry from a previous column. When you add multi-bit numbers, every column beyond the least significant one must handle a carry-in from the column to its right. The full-adder solves this by accepting three inputs: A, B, and a carry-in (Cin). It produces a sum bit (A XOR B XOR Cin) and a carry-out (Cout). You can build a full-adder from two half-adders and an OR gate: the first half-adder adds A and B, the second adds that result to Cin, and the OR gate combines both carry outputs. This modularity — building complex circuits from simpler ones — is a recurring pattern in digital design.

To add two *n*-bit numbers, you chain *n* full-adders together in a ripple-carry adder. The carry-out of bit position 0 feeds into the carry-in of bit position 1, which feeds into bit position 2, and so on — the carry "ripples" through the chain. The least significant bit can use a half-adder (or a full-adder with Cin tied to 0). This design is simple and correct, but it has a speed problem: bit position *n*-1 cannot compute its final sum until the carry has propagated through all *n*-1 preceding stages. Each stage adds a small gate delay, and for a 64-bit adder, that delay accumulates.

This propagation delay is why faster adder designs exist — carry-lookahead adders compute carries in parallel rather than sequentially, and carry-select adders speculatively compute both possible results (carry=0 and carry=1) and select the correct one. But the ripple-carry adder remains the conceptual foundation: it makes the connection between the binary arithmetic you do on paper and the physical gates that execute it in silicon, and every more advanced adder design is ultimately an optimization of the same underlying addition algorithm.

Practice Questions 5 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Boolean Algebra → Boolean Type and Truth Values → Comparison Operators and Boolean Tests → Logical Operators and Boolean Algebra → Boolean Algebra and Fundamental Laws → Logic Gates Fundamentals → Implementing Boolean Functions with Gates → Karnaugh Map Simplification → Combinational Circuit Design → Flip-Flops and Latches → Binary Counters: Design and Analysis → Binary Arithmetic → Fixed-Point Number Representation → Two's Complement Representation → Overflow and Underflow Detection → Binary Adders: Half-Adders and Full-Adders

Longest path: 84 steps · 338 total prerequisite topics

Prerequisites (5)

Leads To (2)