Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm having a hard time understanding how to find the don't-care values in a Karnaugh map. What does it even mean? If I have a boolean function, say $f(a,b,c,d)=a'bc+abc'+bc'd+a'bc'd$, how would I determine don't-care values? What would I be looking for?

share|cite|improve this question – Orbling Feb 9 '11 at 1:20
Ya I saw that, but I'm using a Mac:( I'm installing Windows as we speak though.. – maq Feb 9 '11 at 1:21
up vote 6 down vote accepted

You are not looking for anything. Don't-care values in a Karnaugh map relate to output that is generally not reachable under normal circumstances and allow you to simplify the logic more than you would normally be able to. Because of this, don't-care values must be explicitly given, or understood from some statement akin to "the values $a'bcd$ and $ab'c'$ will never be used as input".

For an example, consider the input logic to a seven-segment display (the display you see on digital alarm clocks, microwaves, etc.) The input to a seven-segment display is often a number between $0$ and $9$, represented with 4 bits. Since the numbers $10$ through $15$ are also valid combinations of those 4 bits, the logic would theoretically work and determine output values if that was the input received. But because that input is never expected, it doesn't matter what would happen on the display if the number $12$ were received. The display could show a $4$ or an $8$ or any combination of the segments. Thus, when determining the logic for such things, you can put an X in the Karnaugh map under the values that correspond to $10, \dots, 15$ and they will often simplify the logic. This ultimately results in fewer logic gates necessary in hardware, which is always a good thing.

share|cite|improve this answer
Ok but so for the given function I have above, when I use a K map, I get a final result of $abc'+bc'd+a'bc$ whereas I know its supposed to actually be $bc' +a'b$. In the Kmap, there are a total of 3 rectangles: 3rd row first 2 columns, 2nd column middle 2 rows, and 2nd row last 2 columns. Am I missing any tricks or something? – maq Feb 9 '11 at 1:17
+1 Good example. – Orbling Feb 9 '11 at 1:17
@mohabitar When I use a map on your given example above, I get $abc' + b'd + b'c + a'cd$. That is almost opposite of what you say the solution is, so I suggest you edit the question and put in more information about the problem. – Brandon Carter Feb 9 '11 at 1:41
sorry I gave you the wrong equation. See edit. THe comment above applies to the edited problem. – maq Feb 9 '11 at 1:48
@mohabitar I think there may be an error in the problem statement. Given that answer I think the last term in the function should be $a'bc'd'$ instead of $a'bc'd$. The term as-is is obviously already included in the third term, $bc'd$. If the problem statement is correct, and you are trying to find the locations where there must be don't cares for that statement to be satisfied, there must be a don't care for $a'bc'd'$. Posting the entire problem statement as it appears in the original source would be helpful. – Brandon Carter Feb 9 '11 at 5:22

To solve the problem, try to write the function in a simplified form. Now draw a $k$-map for both the simplified function and the original function. Compare the the two functions and any $1$'s that are present in one and not in the other will be your don't cares.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.