Boolean Logic and Truth Tables Explanation
I'm needing to create a truth table, and I really need to find a resource to explain 开发者_开发知识库how it works. I'll give an example of a problem. I have to create a truth table based on this: A*(B+AB)=AB So the truth table looks something like:
0 0 0 1 1 0 1 1 for A*(B+AB)=ABHow do I even begin to solve this? Are there any good resources that give a good explanation on what to do?
Ok So I then did one more complicated that involves a NOT. ! indicates not
!(A*!B+!AB) = AB+!(A+B)
So I did C = A*!B D=!A*B then !(C+D) for the left side. My final answer for that side is
0 0 1
0 1 0
1 0 0
0 0 1
So the right side is this
C = A * B D = A + B then C + !D so that looked like this0 0 1
0 1 0
0 1 0
1 1 1
I think I'm getting it? :)
Edit: I put in some extra explanation given your comment (which is now deleted).
A and B are two boolean variables. For example, in a program, A might be firstTestOK and B might be secondTestOK. Each of A and B can be either true (1) or false (0).
A+B means A or B which is true if either A or B is true. A*B means A and B is is true only if both A and B are true.
All of the combinations for A, B are:
- A is false and B is false
- A is false and B is true
- A is true and B is false
- A is true and B is true
This can be written more compactly as a truth table as follows:
A B
0 0
0 1
1 0
1 1
What you've been asked to do is show A*(B+AB) is the same as AB. So, for each combination, we work out the left-hand-side, which is A*(B+AB) and the right-hand-side, which is AB:
A B C=A*B D=B+C A*D = A*B
0 0 0 0 0 0
0 1 0 1 0 0
1 0 0 0 0 0
1 1 1 1 1 1
so, looking at all of the combinations in the last two columns, we see that the results are the same, so AD=A(B+AB) is AB.
Since the left-hand-side is a little complicated, I did it in steps by breaking it up into pieces, by introducing C and D.
精彩评论