A minterm number is a compact label for one input row. It is not a property of the row independent of variable order: it is the decimal value of the row’s binary bits after the variables have been placed in a declared sequence. If a worksheet, solver, or textbook uses a different sequence, the same logical row can have a different index.
This distinction causes many apparently mysterious K-map mistakes. A student may compute the right decimal number from the wrong bit order and place a 1 in a completely different cell. This guide defines the convention, works examples for three and four variables, shows how to translate between orders, and gives a reliable procedure for converting truth tables, minterm lists, and K-map coordinates without losing track of complements or significance.
What a minterm index means
For n Boolean inputs, a minterm index runs from 0 through 2ⁿ−1. Under the common convention, write the input values as an n-bit binary number in the order named by the function, with the first variable as the most significant bit and the last as the least significant bit. Convert that binary number to decimal; the result is the minterm index. For example, with variable order A,B,C, input A=1, B=0, C=1 is binary 101, or decimal 5. That row is m5.
The minterm itself is the product literal that is true for exactly that assignment. For A=1, B=0, C=1, it is AB′C. The index 5 is only a label for this product under the selected order. Under a different order, such as C,B,A, the same assignment writes as 101 again in this particular case and still happens to be 5; choose a nonsymmetric row such as A=1,B=0,C=0 and the distinction appears. In ABC order that row is 100, index 4; in CBA order it is 001, index 1.
Notation matters. F(A,B,C)=Σm(1,5) means the function is 1 on the rows identified by indices 1 and 5, using whatever variable order has been established for F. The symbol Σm does not itself tell you which variable is most significant. In most courses it follows the order printed in the function or the order specified at the start of the problem. If that is unclear, write the order explicitly before calculating.
A three-variable conversion
For variables A,B,C in that order, the full index conversion is:
| Index | ABC bits | Minterm | Assignment |
|---|---|---|---|
| 0 | 000 | A′B′C′ | A=0, B=0, C=0 |
| 1 | 001 | A′B′C | A=0, B=0, C=1 |
| 2 | 010 | A′BC′ | A=0, B=1, C=0 |
| 3 | 011 | A′BC | A=0, B=1, C=1 |
| 4 | 100 | AB′C′ | A=1, B=0, C=0 |
| 5 | 101 | AB′C | A=1, B=0, C=1 |
| 6 | 110 | ABC′ | A=1, B=1, C=0 |
| 7 | 111 | ABC | A=1, B=1, C=1 |
To go from a row to its product, replace every 0 with a complemented literal and every 1 with an uncomplemented literal. To go from a minterm to a row, reverse that rule. For example, A′BC corresponds to 011 and therefore m3. This is why a minterm contains every input variable: its exact assignment must be uniquely identified. A simplified product term may omit variables because it covers several rows.
For a four-variable function, the same process uses four bits and gives indices 0 through 15. A useful mental check is the place value: the first variable contributes 8, the second 4, the third 2, and the fourth 1. So ABCD=1010 is 8+0+2+0=10, or m10; its minterm is AB′CD′.
A four-variable example
Suppose a truth table lists the output as 1 for rows 0001, 0011, 1000, 1010, and 1011, with order ABCD. Convert each row exactly as written: 0001 is 1; 0011 is 3; 1000 is 8; 1010 is 10; 1011 is 11. Therefore the canonical notation is F(A,B,C,D)=Σm(1,3,8,10,11). The sorted list is helpful because the row number is not the same thing as the number of 1-bits in the row.
Now inspect one row more closely. At m10, the bits are 1010. The first bit says A=1, the second B=0, the third C=1, and the fourth D=0. Its canonical minterm is AB′CD′. A frequent slip is to read the rightmost bit as A because the writer thinks of the first variable at the right; that produces a different assignment. Write the variable labels above the bit string before turning it into literals.
The binary-to-decimal operation is also distinct from a K-map Gray-code label. Minterm numbering uses ordinary binary values, while K-map axes are arranged in Gray order to preserve adjacency. On a four-variable map, the column labels might be 00, 01, 11, 10; cell m2 (binary 0010 in ABCD order) is placed at row AB=00 and column CD=10, the last column. Do not relabel that column as decimal 2 in its physical position; its Gray-code position is fourth.
What changes when order changes
Take the logical assignment A=1,B=0,C=0,D=1. Under order ABCD, its bits are 1001 and its index is 9. Under order BADC, the bits are B=0,A=1,D=1,C=0, or 0110, which is index 6. The logical assignment and its output have not changed; only the index convention has. If a function is written F(B,A,D,C), a minterm list should be interpreted with that stated order.
Reordering variables can also change the printed minterm list while leaving the truth function unchanged. It is therefore unsafe to copy Σm indices from a source and attach them to a formula with a different variable order unless you translate each assignment. The safe translation is row-based: decode each original index into its original variable values, reorder the labeled values, then encode the new bit string. Do not try to transform decimal indices by intuition.
When the order changes, the canonical minterm literal changes order too, but its meaning should still match the labeled assignment. AB′D C′ is the same product as A C′ B′ D, since AND is commutative; however, writing the literal names explicitly can expose a mistake that a decimal index hides. Preserve the variable names and their 0/1 values during conversion rather than relying only on a number.
From index to K-Map position
A map position is determined by splitting the binary assignment into the variables used for the row and column headers. For a conventional four-variable map, use AB for rows and CD for columns, with Gray order 00,01,11,10 on each axis. Decode m10 as ABCD=1010, split it into AB=10 and CD=10, and locate the last row and last column. Its coordinate is not found by counting down binary row labels; the row sequence is Gray-coded.
For a five-variable map, one variable selects a tile and the remaining four variables specify a 4×4 position. For six variables, two variables select one of four tiles. The minterm index is still calculated from the conventional binary assignment before placement. After decoding the bits, use Gray order for the map coordinates and tile arrangement. Keeping those two stages distinct prevents the common error of treating a Gray-code location as a binary minterm number.
If you use a solver, check its documented input order. Some interfaces ask for a minterm list tied to variable names; others ask you to type a truth-table vector whose first character corresponds to index 0. A function string such as 10110010 cannot be interpreted without knowing whether the leftmost character is output at m0 or m7. Label one known row—typically all zeros—to establish direction before entering a long vector.
Common numbering errors
- Reversing significance: treating the first listed variable as the least significant bit instead of the most significant bit.
- Omitting leading zeros: writing m2 as “10” for a four-variable problem rather than 0010.
- Confusing index and literal: m10 is not the product term A′B′CD; decode 1010 to get AB′CD′.
- Using binary order on a Gray axis: adjacent map columns are 00,01,11,10, not 00,01,10,11.
- Copying an index list across variable orders: translate assignments first.
- Reading a truth vector backward: confirm which end corresponds to m0.
Each error is easy to diagnose if you check a few anchor points. For n variables, m0 must be all zeros and m(2ⁿ−1) must be all ones. The least significant bit changes every index; the next bit changes every two; and so on. If m1 does not differ from m0 only in the final variable, your bit order is reversed. If the last index is not all ones, a binary conversion or padding step is wrong.
A safe conversion workflow
- Write the variable order: for example, ABCD, first variable most significant.
- Label the bit positions: place A, B, C, D directly above the binary digits.
- Convert row values to binary: always pad to exactly n bits.
- Check the decimal index: sum the place values for the bits set to 1.
- Record the literal form if needed: complement the variables assigned 0.
- Place the cell on the map: split row and column variables, then use Gray order.
- Check anchor rows: verify the all-zero row and a one-variable change.
When converting a minterm list to a truth table, initialize every row to 0 and set the listed indices to 1. For maxterms, be careful: a listed maxterm index identifies a row where the function is 0. In canonical POS, F=ΠM(1,4) means zero at indices 1 and 4. It uses the same index convention, but the output polarity differs from Σm. The guide to minterms and maxterms explains the relationship and the complementary row values.
For an entered expression or map result, verify against the original row assignments, not a possibly mistranscribed index list. This end-to-end check catches the case where the simplification is internally correct but based on the wrong variables. The companion guide on turning a truth table into a minimal expression shows how to carry the labeled rows through each step.
Practice with answers
1. Under order ABCD, what is m13? Thirteen is binary 1101. Therefore A=1, B=1, C=0, D=1 and the minterm is ABC′D. Check: 8+4+0+1=13.
2. Under order ABCD, what index is A=0,B=1,C=1,D=0? The bits are 0110, or 4+2=6, so it is m6. The minterm is A′BCD′.
3. A row is A=1,B=0,C=0,D=1. What is its index under BADC? Reorder the labeled values: B=0,A=1,D=1,C=0 gives 0110, index 6. Under ABCD it was 9. The answer changes because the naming order changed, not because the function changed.
4. Where is m2 on the standard AB-row, CD-column map? Its bits are 0010. Thus AB=00 and CD=10. With Gray column order 00,01,11,10, it lies in the first row and last column.
Write the order next to every minterm list you create. Once that habit is routine, minterm numbers become useful shorthand instead of a source of hidden ambiguity. The calculation is simple; the care lies in preserving labels across conversion, map placement, and verification.