simplifying Boolean expression A'BC + AB'C + ABC' - boolean-logic

Need help here, whats the simplified form of this Boolean expression? I'm a little confused about this, help me guys!
A'BC + AB'C + ABC'

ABC A'BC + AB'C + ABC'
000 0
001 0
010 0
011 1
100 0
101 1
110 1
111 0
This cannot be simplified, see *Karnaugh map*.
But using other operators, there are simpler forms:
Exclusive OR ^: A'BC + A(B^C)
Bit count: #[A, B, C] = 2

Related

how to add in binary

I don't understand when 100 appear in add what I should do. what the carry for the next step? They are marked with red and blue colors
Let's go step by step:
000011
001101
011011
+ 110110
--------
First we add the values in the 1's column: 1 + 1 + 1 + 0 = 11. We carry the 2's column of the result and continue:
1
000011
001101
011011
+ 110110
--------
1
Now we add the values of the 2's column (including the carry): 1 + 1 + 0 + 1 + 1 = 100. I think this is where your confusion started, because the sum has 3 columns instead of 2. We can just carry both extra columns:
10
000011
001101
011011
+ 110110
--------
01
Continuing on to add the values of the 4's column: 0 + 0 + 1 + 0 + 1 = 10. We have a 1 to carry over to the 8's column, but there's already a carried 1 there! So we add the two carries: 1 + 1 = 10. Essentially, we shift the carry in the 8's column over the 16's column:
10
000011
001101
011011
+ 110110
--------
001
We add the 8's column (0 + 0 + 1 + 1 + 0 = 10) and once again we have a "collision" of our carried values. So just like before, we add the carries, resulting in a "shift":
10
000011
001101
011011
+ 110110
--------
0001
Add the 16's column and carries:
10
000011
001101
011011
+ 110110
---------
00001
After adding the 32's column:
1
000011
001101
011011
+ 110110
---------
100001
All that remains is our carry in the 64's column:
000011
001101
011011
+ 110110
---------
1100001

Boolean Logic A'B + AB'

I have a fairly simple question that i cannot find an example of online. I understand that this can simplify to A^B but I have not yet covered that section. What is the correct value of the boolean expression (A'B + AB')?
Lets look at the truth table
A B A'B AB' A'B + AB'
-----------------------------
0 0 0 0 0
0 1 1 0 1
1 0 0 1 1
1 1 0 0 0
This simply computes the xor of A and B.
and hence this is our answer.
The definition of the symbol XOR (^) is a^b = a'b + ab', i.e. one or the other but not both must be true for the expression to be true. Therefore there are no intermediate steps to convert between the two expressions. This is because a'b and ab' are prime implicants of the boolean function.
Another (not necessarily more simplified) way to define XOR is (A+B).(A'+B')
A B A+B A' B' A'+B' (A+B).(A'+B')
----------------------------------------
0 0 0 1 1 1 0
0 1 1 1 0 1 1
1 0 1 0 1 1 1
1 1 1 0 0 0 0

Simplifying a logic function using boolean algebra

I'm taking a class on digital logic and I am having a hard time with boolean algebra and simplifying logic functions with it. I have tried answering this problem several times and I keep coming to the answer "1", which I feel is absolutely wrong.
The question is
Consider the logic function f(a,b,c) = abc + ab'c + a'bc + a'b'c + ab'c'. Simplify f using Boolean algebra as much as possible.
I have tried solving it several ways using the boolean identities given in my textbook and from lecture, but I keep coming to something like c + 1 which is equivalent to 1, which I don't feel is the correct answer considering the next question in the problem.
Here is my last attempt:
f(a,b,c) = abc + ab'c + a'bc + a'b'c + ab'c'
= a(bc + b'c + b'c') + a'(bc + b'c) # Distributive, took out the a and the a' separately.
= (a + a')((bc + b'c + b'c') + (bc + b'c)) # Distributive(?), took out the a and a' together (This is probably where I screwed up).
= (1)((c + b'c') + c) # a + a' = 1; bc + b'c = c (Combining).
= c + b'c' + c # cleaned up a little.
= c + b'c' # c + c = c.
= c + (b' + c') # b'c' = b' + c' (DeMorgan's Theorem).
= 1 + b' # c + c' = 1.
= 1 # 1 + b' = 1
This feels absolutely wrong to me, and the next question asks me to make the logic circuit for it, which I don't think is possible.
Can anyone help/walk me through what I am doing wrong? I would really appreciate it. :(
(P.S. I used code formatting, I apologize if this is annoying to some.)
By this table:
A 1 1 1 1 0 0 0 0
B 1 1 0 0 1 1 0 0
C 1 0 1 0 1 0 1 0
Y 1 0 1 1 1 0 1 0
Y=ab'+c
I've got it :D
f(a,b,c) = abc + ab'c + a'bc + a'b'c + ab'c'
= a(bc + b'c + b'c') + a'(bc + b'c)
= a(c(b + b') + b'c') + a'(c(b + b'))
= a(c * 1 + b'c') + a'(c * 1)
= a(c + b'c') + a'c
= a(c'(b'c')')' + a'c
= a(c'(b + c))' + a'c
= a(c'b +cc')' + a'c
= a(c'b)' + a'c
= a(c+b') + a'c
= ac + ab' + a'c
= c(a + a') + ab'
= ab' + c

Mathcad 14: "pattern match exception" when solving equation with more unknowns

I'm trying to solve an equation with 5 unknowns in Mathcad 14. My equations look like this:
Given
0 = e
1 = d
0 = c
-1 = 81a + 27b + 9c + 3d + e
0 = 108a + 27b + 6c + d
Find(a,b,c,d,e)
Find(a,b,c,d,e) is marked as red and says "pattern match exception". What is the problem?
In mathcad you need to do something similar to:
c:=0
d:=1
e:=0
a:=1
b:=1
Given
81*a + 27*b + 9*c + 3*d + e = -1
108*a + 27*b + 6*c + d = 0
Find(a,b,c,d,e) = (0,0,0,0,-1)
Now, what I have done here is to define the variables BEFORE the Solve Block (Given...Find), you have to give initial values which you think are close to the solution you require in order for the iteration to succeed.
Tips: To get the equals sign in the Solve Block, use ctrl and '='. If your looking to solve for 5 unknowns then you need 5 equations, the original post looked like you knew 3 of the variables and were looking for a and b, in this case you would do the following:
c:=0
d:=1
e:=0
a:=1
b:=1
Given
81*a + 27*b + 9*c + 3*d + e = -1
108*a + 27*b + 6*c + d = 0
Find(a,b) = (0.111,-0.481)
This has held c, d and e to their original values and iterated to solve for a and b only.
Hope this helps.

How do you convert binary to decimal if the binary was 1.01?

What is 1.01 binary in decimal?
Just remember we use positional numbering system.
1101 = 2^0 + 2^2 + 2^3 = 1 + 4 + 8 = 13
1.01 = 2^0 + 2^(-2) = 1 + 1/4 = 1.25
Positions to the left of the unit multiply by 2 each time. Positions to the right of the unit divide by 2 each time.
1 . 0 1
1×1 + 0×1/2 + 1×1/4 = 1 1/4
It's 1.25:
1 * 2^0 + 0 * 2^-1 + 1 * 2^-2
= 1 * 1 + 0 * 0.5 + 1 * 0.25
= 1 + 0.25
= 1.25