Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Boolean question

  1. Aug 11, 2004 #1
    Guys I need help with this problem if you'd be so kind?

    Q. Make a circuit comprising four inputs, output is TRUE if an odd number of inputs are TRUE.

    My solution => A+B+C+D+ABC+ABD+ACD+BCD

    So, how do I simplify that?

    Thank you.
     
  2. jcsd
  3. Aug 11, 2004 #2

    Janus

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    First off, your solution is incorrect, since it would simplify to A+B+C+D.

    Secondly, the real solution doesn't simplify using AND or OR gates. (but you can simplify the circuit.)
     
  4. Aug 11, 2004 #3

    Hurkyl

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    I think he's using + for or, not xor. Silly having 4 ways to write the same thing. :frown:
     
  5. Aug 12, 2004 #4
    I thought the symbol for xor is a circle-enclosed plus sign. What "thing" are you talking about?

    macca: Draw yourself a Karnaugh map of the circuit behaviour. It shouldn't be too difficult.
     
  6. Aug 12, 2004 #5

    Hurkyl

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    In logic, xor is [itex]\veebar[/itex]. In circuits, xor is [itex]\oplus[/itex]. In GF(2n), xor is +. In C, xor is ^.
     
    Last edited: Aug 12, 2004
  7. Aug 12, 2004 #6

    Alkatran

    User Avatar
    Science Advisor
    Homework Helper

    Assuming + is OR and multiplication is AND

    A+B+C+D+ABC+ABD+ACD+BCD is wrong because:

    ABD + ABC = AB(D + C)
    A+B+C+D+ABC+ABD+ACD+BCD = A(True + BC + BD + CD) + B(True + CD) + C +D
    True+BC+BD+CD = true and True + CD = true
    A + B + C + D
    If any of them is true...

    (A xor BCD) + (B xor ACD) + (C xor ABD) + (D xor ABC)
    would make more sense, either one is true or three are true. I'm not sure how to simplify this because.. well I haven't ever "done" boolean math except minimally in programming.
     
  8. Aug 13, 2004 #7
    The simplest representation for this circuit that I know of is:

    [tex]A\oplus(B\oplus(C\oplus D))[/tex]
     
  9. Aug 13, 2004 #8

    Alkatran

    User Avatar
    Science Advisor
    Homework Helper

    Right, because every true NOTs the final answer (starting with false)... right?
     
  10. Aug 13, 2004 #9
    If you mean what I think you mean, than yes.

    Actually, I made it unnecessarily complicated. [itex]A\oplus B\oplus C\oplus D[/itex] does the same thing, now that I think about it. I forgot that xor is associative.
     
  11. Aug 13, 2004 #10

    Janus

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member


    This what I meant when I said it could be simplfied. I was trying to give him a push in the right direction without giving him the answer outright, just in case this was a homework assignment.
     
  12. Aug 14, 2004 #11
    This question has me curious. By putting it into a truth table, then transferring to a K-Map doesn't help. You are unable to make any groups.
    So reading directly from the truth table, I end up with:
    A'B'C'D + A'B'CD' + A'BC'D' + A'BCD + AB'C'D' + AB'CD + ABC'D + ABCD'

    By beginning to group and simplify I get:

    [tex]
    A'B'(C'D+CD') + AB(C'D+CD') + C'D'(A'B+AB') + CD(A'B+AB')[/tex]

    [tex]
    A'B'(C \oplus D) + AB(C \oplus D) + C'D'(A \oplus B) + CD(A \oplus B)[/tex]

    [tex]
    (A \oplus B) + (C \oplus D)[/tex]

    As you can see by this, I am not getting down to the simplified answer given by you guys:[tex] A \oplus B \oplus C \oplus D[/tex]

    But, I do agree with you answer, because when I figure a truth table using your answer, I get the desired output results of true when there are an odd number of true inputs.

    How would one go about simplifying this step by step?
    Where did I make an error in my algebra?
     
  13. Aug 14, 2004 #12
    The third line does not follow from the second. You should instead be getting:

    [tex]
    (AB+A'B')(C \oplus D) + (A \oplus B)(CD+C'D')[/tex]

    [tex]
    (A \oplus B)'(C \oplus D) + (A \oplus B)(C \oplus D)'[/tex]

    [tex]
    (A \oplus B)\oplus(C \oplus D)[/tex]
     
  14. Aug 14, 2004 #13
    XOR gives 1 when odd number of inputs are high .... (works for n number of inputs and its bcos as noticed by master coda .... XOR is associative)

    -- AI
     
  15. Aug 14, 2004 #14
    Cool, I now see where my error was. Thanks master_coda.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: Boolean question
  1. Boolean help (Replies: 12)

  2. Boolean and modulo (Replies: 3)

  3. Boolean algebra. (Replies: 4)

  4. Boolean functions (Replies: 13)

Loading...