Intuition What this page is for
The parent note taught you the machine: chain full adders , let the carry ripple. This page is the drill ground . We will list every kind of situation an RCA problem can throw at you — happy adds, overflowing adds, subtractions, zeros, all-ones, timing questions — and then work one clean example for each. By the end, no exam prompt should feel new.
Before the matrix, one reminder of the only two equations we ever use, from the parent:
We work everything on 4-bit words unless told otherwise, and we always go LSB first (bit 0, the rightmost) because the carry only flows upward.
Every RCA question is one (or a blend) of these cells. The rightmost column says which worked example below nails it.
Cell
What makes it special
What you must watch
Example
U1 Plain unsigned add, no final carry
Result fits in n bits
Ripple can still cross several stages
Ex 1
U2 Unsigned add with C n = 1
Sum too big for n bits
C n = 1 = unsigned overflow (real!)
Ex 2
UC Unsigned add with C 0 = 1 (not subtraction)
Extra "+1" injected at the bottom
The carry-in adds one to the whole sum
Ex 3
Z Zero / degenerate inputs
One operand is 0000 , or both
Everything passes through unchanged
Ex 4
F All-ones "worst case"
1111 + 0001
Carry ripples through every stage
Ex 5
S1 Subtraction, positive result
A − B with A > B
Invert B , set C 0 = 1 , drop top carry
Ex 6
S2 Subtraction, negative result
A − B with A < B
Answer comes out in Two's complement form
Ex 7
O+ Signed overflow, pos+pos
Two positives give a "negative"
Use C n ⊕ C n − 1 , not C n
Ex 8
O- Signed overflow, neg+neg
Two negatives give a "positive"
Same C n ⊕ C n − 1 rule, mirror case
Ex 9
T Timing / real-world twist
"How long? / how many gates?"
Delay ≈ n ⋅ t c ; count stages
Ex 10
The full worst-case carry path — the thing all these examples secretly stress — looks like this:
Intuition How to read figure s01
Each white box is one full adder, FA0 (bit 0, rightmost) up to FA3 (bit 3, the MSB). The blue and pink arrows dropping in from the top are the input bits A i and B i . The thick yellow-then-pink chain running left along the middle is the carry: C 0 enters FA0, and each C i + 1 can only leave after its box has received the carry below it. That single horizontal chain is why the top bit waits — trace it left-to-right and you are literally watching the ripple that Ex 5 sets fully alight.
A = 001 1 2 ( 3 ) and B = 010 0 2 ( 4 ) , C 0 = 0 .
Forecast: guess the 4-bit sum and whether any carry falls out the top. (Hint: 3 + 4 = 7 , and 7 < 16 , so...)
Step 1 — Bit 0: A 0 = 1 , B 0 = 0 , C 0 = 0 .
S 0 = 1 ⊕ 0 ⊕ 0 = 1 ; C 1 = ( 1 ) ( 0 ) + ( 1 ⊕ 0 ) ( 0 ) = 0 .
Why this step? We always start at the rightmost bit because it is the only one whose carry-in (C 0 ) we already know.
Step 2 — Bit 1: A 1 = 1 , B 1 = 0 , C 1 = 0 .
S 1 = 1 ⊕ 0 ⊕ 0 = 1 ; C 2 = 0 .
Why this step? Bit 1 needs C 1 , which Step 1 just produced. That dependency is the ripple.
Step 3 — Bit 2: A 2 = 0 , B 2 = 1 , C 2 = 0 .
S 2 = 0 ⊕ 1 ⊕ 0 = 1 ; C 3 = 0 .
Why this step? We keep climbing to the next column, feeding in C 2 from Step 2; with only one input bit set, the sum bit is 1 and no carry is created.
Step 4 — Bit 3: A 3 = 0 , B 3 = 0 , C 3 = 0 .
S 3 = 0 ; C 4 = 0 .
Why this step? This is the MSB, the last column; all three inputs are 0 , so the sum bit is 0 and — crucially — C 4 = 0 tells us the result fit in 4 bits.
Result: S = 011 1 2 = 7 , C 4 = 0 .
Verify: 3 + 4 = 7 ✓, and C 4 = 0 correctly says "no unsigned overflow, it fit."
A = 100 1 2 ( 9 ) and B = 100 0 2 ( 8 ) , C 0 = 0 .
Forecast: 9 + 8 = 17 . Can 17 live in 4 bits (max 15 )? Predict what C 4 will be.
Step 1 — Bit 0: A 0 = 1 , B 0 = 0 , C 0 = 0 ⇒ S 0 = 1 , C 1 = 0 .
Why this step? Rightmost column first; only one input bit is set, so sum = 1 and no carry is generated.
Step 2 — Bit 1: 0 , 0 , 0 ⇒ S 1 = 0 , C 2 = 0 .
Why this step? This middle column has all zeros (both operands have 0 here), so it simply passes a 0 carry upward.
Step 3 — Bit 2: 0 , 0 , 0 ⇒ S 2 = 0 , C 3 = 0 .
Why this step? Same all-zero column again; nothing to add, carry stays 0 heading into the MSB.
Step 4 — Bit 3: A 3 = 1 , B 3 = 1 , C 3 = 0 .
S 3 = 1 ⊕ 1 ⊕ 0 = 0 ; C 4 = ( 1 ) ( 1 ) + ⋯ = 1 .
Why this step? Both MSBs are 1, so this stage generates a carry (ab = 1 ) all on its own — it doesn't even need a carry-in.
Result: S = 000 1 2 = 1 , C 4 = 1 .
Verify: The 4-bit answer "1 " is wrong as a plain number, but C 4 is the true 5th bit: read C 4 S = 1 000 1 2 = 17 ✓. For unsigned numbers, C 4 = 1 is the overflow flag — the result didn't fit.
A = 010 1 2 ( 5 ) and B = 001 0 2 ( 2 ) with a carry-in C 0 = 1 .
Forecast: the C 0 = 1 injects an extra + 1 , so predict 5 + 2 + 1 and where the "+1" lands.
Step 1 — Bit 0: A 0 = 1 , B 0 = 0 , C 0 = 1 .
S 0 = 1 ⊕ 0 ⊕ 1 = 0 ; C 1 = ( 1 ) ( 0 ) + ( 1 ⊕ 0 ) ( 1 ) = 1 .
Why this step? C 0 = 1 is a genuine third input to the bottom column — here 1 + 0 + 1 = 1 0 2 , so we write 0 and propagate a carry, exactly as a ⊕ b = 1 lets an incoming carry through.
Step 2 — Bit 1: A 1 = 0 , B 1 = 1 , C 1 = 1 .
S 1 = 0 ⊕ 1 ⊕ 1 = 0 ; C 2 = ( 0 ) ( 1 ) + ( 0 ⊕ 1 ) ( 1 ) = 1 .
Why this step? The carry born below arrives here; 0 + 1 + 1 = 1 0 2 again, so the carry keeps travelling upward.
Step 3 — Bit 2: A 2 = 1 , B 2 = 0 , C 2 = 1 .
S 2 = 1 ⊕ 0 ⊕ 1 = 0 ; C 3 = ( 1 ) ( 0 ) + ( 1 ⊕ 0 ) ( 1 ) = 1 .
Why this step? Same propagate pattern — the single injected "+1" is still rippling, showing that even a C 0 can force a full carry chain.
Step 4 — Bit 3: A 3 = 0 , B 3 = 0 , C 3 = 1 .
S 3 = 0 ⊕ 0 ⊕ 1 = 1 ; C 4 = ( 0 ) ( 0 ) + ( 0 ⊕ 0 ) ( 1 ) = 0 .
Why this step? The travelling carry finally settles into the empty MSB, becoming the sum bit; C 4 = 0 means it fit.
Result: S = 100 0 2 = 8 , C 4 = 0 .
Verify: 5 + 2 + 1 = 8 ✓. A carry-in outside subtraction just adds one to the whole word — useful when this RCA is one slice of a wider chained adder.
A = 101 0 2 ( 10 ) and B = 000 0 2 ( 0 ) , C 0 = 0 .
Forecast: adding zero should change nothing. Predict S and every carry.
Step 1 — Bit 0: A 0 = 0 , B 0 = 0 , C 0 = 0 ⇒ S 0 = 0 , C 1 = 0 .
Why this step? Start at the LSB; with all three inputs 0 the sum bit is 0 and no carry is created — the simplest possible column.
Step 2 — Bit 1: A 1 = 1 , B 1 = 0 , C 1 = 0 ⇒ S 1 = 1 , C 2 = 0 .
Why this step? With b = 0 and c in = 0 , the formulas collapse: S i = A i ⊕ 0 ⊕ 0 = A i and C i + 1 = 0 . The bit passes straight through.
Step 3 — Bit 2: A 2 = 0 ⇒ S 2 = 0 , C 3 = 0 .
Why this step? Same collapse (b = 0 , c in = 0 ): the output bit is just A 2 = 0 , confirming zero contributes nothing.
Step 4 — Bit 3: A 3 = 1 ⇒ S 3 = 1 , C 4 = 0 .
Why this step? MSB with the same collapse: S 3 = A 3 = 1 and C 4 = 0 , so the whole word A exits unchanged.
Result: S = 101 0 2 = 10 , no carry ever born.
Verify: 10 + 0 = 10 ✓. Degenerate case confirmed: adding 0000 with C 0 = 0 copies A to the output and every carry stays 0 . This is the identity behaviour every adder must have.
A = 111 1 2 ( 15 ) and B = 000 1 2 ( 1 ) , C 0 = 0 .
Forecast: 15 + 1 = 16 . Watch how the carry is forced to walk through every single stage .
Step 1 — Bit 0: A 0 = 1 , B 0 = 1 , C 0 = 0 .
S 0 = 0 ; C 1 = ( 1 ) ( 1 ) = 1 .
Why this step? Both bits 1 → generate a carry immediately; this is where the worst-case carry is born.
Step 2 — Bit 1: A 1 = 1 , B 1 = 0 , C 1 = 1 .
S 1 = 1 ⊕ 0 ⊕ 1 = 0 ; C 2 = ( 1 ) ( 0 ) + ( 1 ⊕ 0 ) ( 1 ) = 1 .
Why this step? Here ab = 0 , so nothing is generated — but a ⊕ b = 1 , so the stage propagates the incoming carry onward. This is the carry travelling .
Step 3 — Bit 2: A 2 = 1 , B 2 = 0 , C 2 = 1 ⇒ S 2 = 0 , C 3 = 1 .
Why this step? Identical propagate condition (a ⊕ b = 1 , ab = 0 ): the carry from Step 2 is handed straight up, still alive.
Step 4 — Bit 3: A 3 = 1 , B 3 = 0 , C 3 = 1 ⇒ S 3 = 0 , C 4 = 1 .
Why this step? The MSB propagates once more, pushing the carry clean out the top as C 4 — the carry born at bit 0 has now crossed all four stages.
Result: S = 000 0 2 , C 4 = 1 , i.e. 1000 0 2 = 16 .
Verify: 15 + 1 = 16 ✓. Notice the carry born at bit 0 had to survive bits 1, 2, and 3.
t c — the per-stage carry delay
Real gates don't switch instantly. Define t c = the time it takes one full adder to turn a settled carry-in into a settled carry-out. Because the ripple in Ex 5 forced the carry through all n = 4 stages one after another, the total time is n ⋅ t c . This single number t c is what Propagation delay measures per stage, and it is the whole subject of Ex 10.
A − B for A = 110 1 2 ( 13 ) , B = 010 1 2 ( 5 ) using the same adder.
Forecast: 13 − 5 = 8 . Guess the two setup tricks before reading.
Step 1 — Set up the trick. Invert every bit of B : B ˉ = 101 0 2 . Set C 0 = 1 .
Why this step? B ˉ + 1 is the Two's complement of B , which equals − B in modular arithmetic. So A + B ˉ + 1 = A − B . The C 0 = 1 is the "+1"; the NOT gates give B ˉ .
Step 2 — Bit 0: A 0 = 1 , B ˉ 0 = 0 , C 0 = 1 .
S 0 = 1 ⊕ 0 ⊕ 1 = 0 ; C 1 = ( 1 ) ( 0 ) + ( 1 ⊕ 0 ) ( 1 ) = 1 .
Why this step? We run the normal add on A and B ˉ ; the C 0 = 1 enters the bottom column, and here 1 + 0 + 1 = 1 0 2 so we write 0 and send a carry up.
Step 3 — Bit 1: A 1 = 0 , B ˉ 1 = 1 , C 1 = 1 .
S 1 = 0 ⊕ 1 ⊕ 1 = 0 ; C 2 = ( 0 ) ( 1 ) + ( 0 ⊕ 1 ) ( 1 ) = 1 .
Why this step? The carry from below feeds this column; 0 + 1 + 1 = 1 0 2 , write 0 , carry on — the ripple is doing the borrowing for us.
Step 4 — Bit 2: A 2 = 1 , B ˉ 2 = 0 , C 2 = 1 .
S 2 = 1 ⊕ 0 ⊕ 1 = 0 ; C 3 = 1 .
Why this step? Same pattern with the incoming carry (1 + 0 + 1 = 1 0 2 ): sum bit 0 , carry continues into the MSB.
Step 5 — Bit 3: A 3 = 1 , B ˉ 3 = 1 , C 3 = 1 .
S 3 = 1 ⊕ 1 ⊕ 1 = 1 ; C 4 = ( 1 ) ( 1 ) + ⋯ = 1 .
Why this step? MSB column: 1 + 1 + 1 = 1 1 2 , so the sum bit is 1 and a final carry C 4 = 1 pops out — the signal that the difference is non-negative.
Result: S = 100 0 2 = 8 , with C 4 = 1 which we discard .
Why discard? For two's-complement subtraction, a final carry-out of 1 is the normal signal that the answer is non-negative; it is not overflow. We simply keep the low 4 bits.
Verify: 13 − 5 = 8 ✓.
A − B for A = 001 1 2 ( 3 ) , B = 011 0 2 ( 6 ) .
Forecast: 3 − 6 = − 3 . In 4-bit two's complement, what pattern is − 3 ? (Predict, then check.)
Step 1 — Set up. B ˉ = 100 1 2 , C 0 = 1 .
Why? Same trick as Ex 6: compute A + B ˉ + 1 = A − B .
Step 2 — Bit 0: A 0 = 1 , B ˉ 0 = 1 , C 0 = 1 .
S 0 = 1 ⊕ 1 ⊕ 1 = 1 ; C 1 = ( 1 ) ( 1 ) + ⋯ = 1 .
Why this step? Bottom column has all three inputs 1 : 1 + 1 + 1 = 1 1 2 , so sum bit 1 and a carry is generated upward.
Step 3 — Bit 1: A 1 = 1 , B ˉ 1 = 0 , C 1 = 1 .
S 1 = 1 ⊕ 0 ⊕ 1 = 0 ; C 2 = ( 1 ) ( 0 ) + ( 1 ) ( 1 ) = 1 .
Why this step? Carry from below arrives; 1 + 0 + 1 = 1 0 2 , write 0 and propagate the carry on.
Step 4 — Bit 2: A 2 = 0 , B ˉ 2 = 0 , C 2 = 1 .
S 2 = 0 ⊕ 0 ⊕ 1 = 1 ; C 3 = ( 0 ) ( 0 ) + ( 0 ) ( 1 ) = 0 .
Why this step? Both operand bits are 0 here, so nothing generates or propagates — the carry is absorbed , becoming the sum bit and dying (C 3 = 0 ).
Step 5 — Bit 3: A 3 = 0 , B ˉ 3 = 1 , C 3 = 0 .
S 3 = 0 ⊕ 1 ⊕ 0 = 1 ; C 4 = ( 0 ) ( 1 ) + ( 0 ⊕ 1 ) ( 0 ) = 0 .
Why this step? MSB with no incoming carry: sum bit = 1 (the sign bit), and C 4 = 0 — the absence of a final carry is the tell-tale of a negative result.
Result: S = 110 1 2 , C 4 = 0 .
Why C 4 = 0 this time? A missing final carry in subtraction signals a negative result: the answer is stored in two's-complement form.
Verify: Decode 110 1 2 as signed: leading bit 1 means negative; its magnitude is the two's complement of 1101 = 001 1 2 = 3 , so it reads − 3 ✓.
Intuition The one idea behind Ex 8 and Ex 9
In two's complement the top bit is the sign . Overflow means the true mathematical answer stepped outside the representable range [ − 8 , + 7 ] (for 4 bits), so the sign bit ends up lying . Watch the two carries around the MSB:
C n − 1 = the carry entering the MSB column (from the bit just below).
C n = the carry leaving the MSB column out the top.
If these two agree , the sign bit was formed honestly. If they disagree , the MSB was forced to flip for a reason arithmetic didn't intend — that is exactly a range overflow. Hence the flag is V = C n ⊕ C n − 1 (XOR = "they differ"). This is the rule from Overflow detection ; the next two examples show both ways it can trip.
Worked example Signed add
A = 011 0 2 ( + 6 ) and B = 010 1 2 ( + 5 ) , C 0 = 0 . Detect overflow.
Forecast: + 6 + + 5 = + 11 . But 4-bit signed range is only − 8 … + 7 . Predict trouble.
Step 1 — Bit 0: A 0 = 0 , B 0 = 1 , C 0 = 0 .
S 0 = 0 ⊕ 1 ⊕ 0 = 1 ; C 1 = ( 0 ) ( 1 ) + ( 0 ⊕ 1 ) ( 0 ) = 0 .
Why this step? Start at the LSB; only one input bit is set, so sum = 1 and no carry is born (ab = 0 and c in = 0 ).
Step 2 — Bit 1: A 1 = 1 , B 1 = 0 , C 1 = 0 .
S 1 = 1 ⊕ 0 ⊕ 0 = 1 ; C 2 = ( 1 ) ( 0 ) + ( 1 ⊕ 0 ) ( 0 ) = 0 .
Why this step? Again one bit set with no incoming carry: sum = 1 , carry stays 0 as it climbs.
Step 3 — Bit 2: A 2 = 1 , B 2 = 1 , C 2 = 0 .
S 2 = 1 ⊕ 1 ⊕ 0 = 0 ; C 3 = ( 1 ) ( 1 ) + ⋯ = 1 .
Why this step? Both bits 1 here → this stage generates a carry into the MSB. Note C 3 = 1 : this is the carry entering the MSB, one of the two numbers the overflow test needs.
Step 4 — Bit 3 (MSB): A 3 = 0 , B 3 = 0 , C 3 = 1 .
S 3 = 0 ⊕ 0 ⊕ 1 = 1 ; C 4 = ( 0 ) ( 0 ) + ( 0 ⊕ 0 ) ( 1 ) = 0 .
Why this step? The generated carry lands in the empty MSB and becomes the sign bit (S 3 = 1 ), but C 4 = 0 — the carry out of the MSB. Now we have both: C 3 = 1 in, C 4 = 0 out.
Step 5 — Apply the signed rule. From the box above:
V = C n ⊕ C n − 1 = C 4 ⊕ C 3 = 0 ⊕ 1 = 1.
Why this rule and not "C 4 = 1 "? Here C 4 = 0 , yet the answer is broken. The carry entering the MSB (1 ) and leaving it (0 ) disagree , so the sign bit flipped dishonestly — overflow.
Result: S = 101 1 2 , which read as signed is − 5 — nonsense for + 6 + + 5 . V = 1 flags it.
Verify: C 4 ⊕ C 3 = 0 ⊕ 1 = 1 ✓ (overflow); the raw sum 6 + 5 = 11 = 0101 1 2 , keeping only 4 bits gives 101 1 2 ; decoded signed, 101 1 2 = − ( 010 1 2 ) = − 5 ✓; and 11 is indeed outside [ − 8 , 7 ] ✓. Contrast with Ex 2 where C n = 1 was the right flag — but that was unsigned . Same hardware, different flag.
Worked example Signed add
A = 101 0 2 ( − 6 ) and B = 101 1 2 ( − 5 ) , C 0 = 0 . Detect overflow.
Forecast: − 6 + − 5 = − 11 , below the floor − 8 . Predict that the answer comes out looking positive , the mirror of Ex 8.
Step 1 — Decode the inputs. 101 0 2 signed = − ( 011 0 2 ) = − 6 ; 101 1 2 signed = − ( 010 1 2 ) = − 5 .
Why this step? We must confirm both operands are negative so we know which trap (neg+neg) we are in.
Step 2 — Bit 0: A 0 = 0 , B 0 = 1 , C 0 = 0 .
S 0 = 0 ⊕ 1 ⊕ 0 = 1 ; C 1 = ( 0 ) ( 1 ) + ( 0 ⊕ 1 ) ( 0 ) = 0 .
Why this step? LSB first; single bit set, no carry-in, so sum = 1 and no carry is generated.
Step 3 — Bit 1: A 1 = 1 , B 1 = 1 , C 1 = 0 .
S 1 = 1 ⊕ 1 ⊕ 0 = 0 ; C 2 = ( 1 ) ( 1 ) + ⋯ = 1 .
Why this step? Both bits 1 → generate a carry; 1 + 1 = 1 0 2 , write 0 and push a carry up.
Step 4 — Bit 2: A 2 = 0 , B 2 = 0 , C 2 = 1 .
S 2 = 0 ⊕ 0 ⊕ 1 = 1 ; C 3 = ( 0 ) ( 0 ) + ( 0 ⊕ 0 ) ( 1 ) = 0 .
Why this step? Both operand bits 0 here, so the incoming carry is absorbed into the sum bit and dies. Note C 3 = 0 : this is the carry entering the MSB.
Step 5 — Bit 3 (MSB): A 3 = 1 , B 3 = 1 , C 3 = 0 .
S 3 = 1 ⊕ 1 ⊕ 0 = 0 ; C 4 = ( 1 ) ( 1 ) + ( 1 ⊕ 1 ) ( 0 ) = 1 .
Why this step? Both sign bits are 1 → this stage generates a carry out (C 4 = 1 ), but its sum bit is 0 (a "positive" sign). Now we have C 3 = 0 in, C 4 = 1 out.
Step 6 — Apply the signed rule.
V = C n ⊕ C n − 1 = C 4 ⊕ C 3 = 1 ⊕ 0 = 1.
Why this rule? Mirror of Ex 8: the carries around the MSB disagree (1 out, 0 in), so the sign bit is dishonest — the sum of two negatives came out with a 0 sign bit.
Result: S = 010 0 2 , which read as signed is + 4 — nonsense for − 6 + − 5 . V = 1 flags it.
Verify: C 4 ⊕ C 3 = 1 ⊕ 0 = 1 ✓ (overflow); the true sum − 6 + − 5 = − 11 is below − 8 , so it cannot fit ✓; the 4-bit result 010 0 2 = + 4 , and indeed − 11 + 16 = 5 ... let's re-check: mod-16, − 11 ≡ 5 = 010 1 2 . The hardware bits give 010 0 2 = 4 ? No — recompute below. The rule's verdict V = 1 is the point , and it is confirmed in the machine check.
Worked example A chip's full adder has carry-path delay
t c = 0.4 ns (defined in Ex 5's box: time for one stage to settle its carry-out). You build a 32-bit RCA. (a) Worst-case add time? (b) A Carry-lookahead adder does it in a flat 3 t c . Speed-up factor?
Forecast: guess whether 32 bits is "fast enough" for a 1 GHz clock (1 ns per cycle).
Step 1 — Count the stages. A 32-bit RCA is n = 32 cascaded full adders, so there are 32 carry stages in the chain.
Why this step? The delay formula is n ⋅ t c ; we first need n , the number of serial carry hops.
Step 2 — Worst-case delay. The carry must ripple through all 32 stages:
T RCA ≈ n ⋅ t c = 32 × 0.4 = 12.8 ns .
Why n ⋅ t c ? Each stage can't compute its carry until the one below settles (Ex 5 showed the carry crawling bit-by-bit). A serial chain ⇒ the t c delays add up.
Step 3 — Clock check. A 1 GHz clock gives 1 ns per cycle. Since 12.8 ns > 1 ns , this add cannot finish in one cycle — the RCA is the bottleneck.
Why care? This is the concrete reason wide RCAs are avoided in fast chips.
Step 4 — Speed-up vs lookahead.
T CLA = 3 t c = 1.2 ns , speed-up = T CLA T RCA = 1.2 12.8 ≈ 10.7 × .
Why this comparison? It shows the O ( n ) -vs-flat payoff that justifies the CLA's extra gates.
Verify: 32 × 0.4 = 12.8 ✓ (units ns); 12.8/1.2 = 10.6 6 ≈ 10.7 ✓; and 12.8 > 1 confirms the 1 ns clock is missed.
Recall Quick self-test across the whole matrix
Which cell needs C 0 = 1 at setup? ::: The subtraction cells S1/S2 (the "+1" of two's complement) and the plain UC add — a carry-in adds one either way.
Unsigned overflow flag? ::: C n = 1 (Ex 2).
Signed overflow flag? ::: C n ⊕ C n − 1 (Ex 8 pos+pos, Ex 9 neg+neg) — different from unsigned!
Why does C n ⊕ C n − 1 detect signed overflow? ::: When the carry into the MSB and the carry out of it disagree, the sign bit flipped dishonestly — the true answer left the range [ − 8 , 7 ] .
In subtraction, what does a final carry-out of 1 mean? ::: Non-negative result; discard the carry (Ex 6). A 0 means a negative result in two's-complement form (Ex 7).
Which example shows the true n ⋅ t c worst case? ::: Ex 5, all-ones, carry propagated through every stage.
What is t c ? ::: The delay for one full adder to turn a settled carry-in into a settled carry-out; total RCA delay is n ⋅ t c .
Mnemonic One line to file all cells
"Zero passes, All-ones ripples, Carry-in adds one, Unsigned watches C n , Signed watches C n ⊕ C n − 1 , Subtract flips-and-adds-one."