← LibraryInteger Addition and SubtractionEngineering · MathematicsLesson 49/385← PrevNext →
ArticlePublished 7 Aug 20263 min readBy Kevin Jogin

Engineering  /  Mathematics  — Integer Algorithms

Integer Addition and Subtraction

Multiprecision addition and subtraction: carry and borrow propagation, sign handling, and why both are linear.

Page KV-MATH-0320Reading time 3 minReviewed 2026-08-07Author Kevin Jogin

Executive summary

Addition and subtraction of multiprecision integers are digit-wise operations with a carry or borrow chain, linear in the length of the longer operand.

The arithmetic is elementary; the complications are entirely in sign handling and in maintaining the representation invariants.

Learning objectives

  1. Implement carry propagation correctly.
  2. Reduce signed addition to unsigned addition and subtraction.
  3. Justify the linear cost bound.

01Unsigned addition

Algorithm

Multiprecision addition

Inputnon-negative a, b in base B
Outputa + b
  1. Let a have m digits and b have n digits, with m ≥ n. Set carry c = 0.
  2. For i from 0 to n−1: compute t = aᵢ + bᵢ + c; set rᵢ = t mod B and c = t div B.
  3. For i from n to m−1: compute t = aᵢ + c; set rᵢ = t mod B and c = t div B.
  4. If c is non-zero, append it as digit r_m.
  5. Strip any leading zeros and return r.
Cost  O(max(m, n)) digit operations

The carry is always 0 or 1, because (B−1) + (B−1) + 1 = 2B − 1 < 2B. This bound is what allows the accumulator to be a single wide word and is why the loop needs no inner iteration.

02Subtraction and the borrow chain

Subtraction mirrors addition with a borrow in place of a carry, but requires the subtrahend to be no larger than the minuend. General signed subtraction is reduced to the unsigned case by comparing magnitudes first.

  1. Compare magnitudes

    Determine which operand is larger in absolute value; this decides the sign of the result.

  2. Subtract smaller from larger

    Run the unsigned borrow loop on the ordered pair.

  3. Attach the sign

    The result takes the sign of the operand with larger magnitude.

  4. Normalise

    Strip leading zeros produced by cancellation, and canonicalise zero.

03Signed operations as a case analysis

Signed addition and subtraction dispatch
OperationSignsReduces to
a + bsameUnsigned add, keep common sign
a + bdifferUnsigned subtract smaller magnitude from larger
a − bsameUnsigned subtract, sign from magnitude comparison
a − bdifferUnsigned add, keep sign of a

Both operations are Θ(ℓ) in the length of the longer operand: every digit must be examined in the worst case, and no more than a constant amount of work is done per digit. There is no faster method, since the output alone has that many digits.

04Frequently asked questions

Can the carry ever exceed 1?

Not in plain addition of two operands. It can in accumulating variants that add several products into one position, as in the inner loop of multiplication, where the accumulator must be wide enough to hold the running total.

Is subtraction ever implemented via complement rather than borrow?

Sometimes, by adding the complement and correcting. It avoids the magnitude comparison branch and can be faster on architectures where branches are costly, at the price of an extra pass.

Why is addition not sublinear?

Because the result has as many digits as the longer input, so simply writing the output takes linear time. No algorithm can beat the output size.

Sources and method

Structural reference: Victor Shoup, A Computational Introduction to Number Theory and Algebra, Version 1, Cambridge University Press, 2005 — book pages 41-42.

This page carries the durable method layer only: definitions, constructions, algorithms, complexity results and selection criteria, authored originally for KEVOS. No text is transcribed or paraphrased from the source, and no numeric tables or benchmark data are reproduced — these are routed to live authoritative sources instead.

Author: Kevin Jogin. Last reviewed 2026-08-07.

Continue learning

Representing Large IntegersArticle · MathematicsNEXT LESSON →Integer MultiplicationArticle · MathematicsMachine Models and Complexity TheoryArticle · MathematicsInteger Division with RemainderArticle · Mathematics