Skip to content
BetterDL

Canonical form conversion

Also called: converting between canonical forms, minterm to maxterm conversion, maxterm to minterm conversion, SOP to POS conversion, Σm to ΠM conversion

Switching a function between its sum of minterms and product of maxterms: F = Σm(the 1-rows) = ΠM(the 0-rows), so you just take the other rows.

Every row of a truth table is either a 1 or a 0 of F, never both and never neither. So the row numbers split into two lists that don't overlap and together cover all of them:

F = Σm(the 1-rows) = ΠM(the 0-rows)

To convert, change the symbol and use the other rows.

The recipe:

  1. Read n, the number of inputs, from the function's name, F(A, B, C, D), not from the biggest number in the list.
  2. Write all rows 0 to 2ⁿ − 1 and cross off the listed ones.
  3. Whatever is left goes in the other list.
  4. Check: the two lists together have 2ⁿ entries.

With don't-cares, the rows split three ways: 1s, 0s and don't-cares. The don't-cares stay in d(…) and never move into either list.

Related move: complementing F. Change the symbol or the list, not both; see complement of a function.

Worked examples

Example

Three inputs

Convert F(A, B, C) = Σm(1, 2, 6) to ΠM form.

  1. 1.

    Rows 0 to 7.

  2. 2.

    Cross off 1, 2, 6. Left: 0, 3, 4, 5, 7.

  3. 3.

    F = ΠM(0, 3, 4, 5, 7).

  4. 4.

    Check: 3 + 5 = 8 = 2³. ✓

Example

Four inputs

Convert F(A, B, C, D) = Σm(1, 4, 9, 12) to ΠM form.

  1. 1.

    Rows 0 to 15.

  2. 2.

    Cross off 1, 4, 9, 12.

  3. 3.

    F = ΠM(0, 2, 3, 5–8, 10, 11, 13–15).

  4. 4.

    Check: 4 + 12 = 16 = 2⁴. ✓

Common mistakes

  • Using the wrong number of rows. Σm(1, 3) is ΠM(0, 2, 4–7) with three inputs, but ΠM(0, 2, 4–15) with four.

  • Keeping the same list and only changing the symbol. That gives the complement, not the same function.

  • Flipping the bits of each index. That renames rows; it does not swap 1s and 0s.

Practice Canonical form conversion

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Canonical form conversion is taught in Boolean Simplification.