Multiplying by a number full of 1-bits is wasteful: ×7 the naive way is three shift-adds. Booth’s insight: a run of ones from bit i up to bit j equals 2^(j+1) − 2^i — so 7 = 0111 = 1000 − 0001, and ×7 becomes one shift-and-subtract plus one add. Recoding the multiplier into signed digits turns long streaks of 1s into a single subtract at the bottom and add at the top. It is the standard signed-multiply algorithm in hardware, and it handles two’s-complement negatives for free.
The demo shows ×7 via Booth’s identity 7 = 2³ − 2⁰, i.e. 8M − M, matching the direct product: live demo
“More 1-bits, more adds.” — Booth turns a whole run of 1s into one subtract and one add, negatives included. cited
A streak of ones collapsed to one subtract and one add — the same product, signed digits, negatives free. resource
On the canonical compiler, 7×3 via Booth (8·3 − 3) returns 21 — matching the direct product: