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

Method of Complements

  1. May 5, 2009 #1
    Hi all,
    I'm working on some one's and two's complement questions and with the help of Wikipedia, am trying to understand it. However, I am quite confused as I seem to be getting wrong answers sometimes, thus I have come here for some clarification ;)

    Take the following sum:
    3694
    2468 -
    1226

    Using nine's complement one would perform the following calculations:
    9-2 = 7
    9-4 = 5
    9-6 = 3
    9-8 = 1

    then, I would perform the following calculation:
    3694
    7531
    ___1 +
    11226

    and then drop the 1.
    That would result in 1226 being the answer which is correct. Now, that was nine's complement, and from further reading it states that ten's complement is nine's complement + 1...so I am assuming they don't mean +1 to 1226, but +1 during the calculation like what I did above. So why is it called ten's complement if it does not affect how I perform the calculation? If I were working in hexadecimals perhaps this would make sense to me, but I am working in decimal so why work out the ten's complement if you have worked out the nine's complement? Not just this, but why would I even go through the entire process if the answer was uncovered in the first step (I worked out 1226 on the 9th line of this post).

    Next, moving onto binary, say I wish to perform the following calculation:
    47 - 28 = 19
    which in binary is 101111 - 11100 (I think)
    Using one's complement, I would do the following:
    101111
    011100 -
    110001

    and then performing the one's complement act:
    1-0 = 1
    1-1 = 0
    1-1 = 0
    1-1 = 0
    1-0 = 1
    1-0 = 1

    and then:
    101111
    100011 +
    101100
    111110 +
    110010

    but as far as I know, 19 in binary is 10011.
    Thus, my answer is wrong, and I have no idea why :confused:

    If you can explain these complement arithmetic problems to me I will be very grateful!

    Thanks for any help :smile:
     
  2. jcsd
  3. May 7, 2009 #2
    Hi King,

    I'm very new to Complements as I just ask around recently - https://www.physicsforums.com/showthread.php?t=312168

    Anyway, I would like to attempt on your problem.

    In dec,
    47 - 28 = 19

    In bin,
    101111
    011100 -
    010011

    and then performing the one's complement act:
    1-0 = 1
    1-1 = 0
    1-1 = 0
    1-1 = 0
    1-0 = 1
    1-0 = 1

    and then:
    0101111
    0100011 +
    1010010
    remove the MSB and add to the LSB
    010010
    000001 +
    010011

    I think your binary addition is wrong.

    I'm still new so it's better for the Gurus to clarify.
     
  4. May 9, 2009 #3
    Hey WaterRain,
    Thanks for having a go :smile:

    I realised in my calculations here:
    That if I were to drop the 1 on the far left hand side and add it to the new byte then I would get the correct answer. However, what confuses me is the differences between one's and two's complement :frown:
     
  5. May 10, 2009 #4
    I'm not too sure either.

    To me, one's complement is simply the inversion of bits.
    While two's complement can represent negative values and work in addition/subtraction.

    I'm a little confused on what I wrote myself as well.
    Sure there's a better explanation somewhere..
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Method of Complements
  1. 2's complement in VB (Replies: 2)

  2. Bisection Method (Replies: 2)

  3. Newton Method (Replies: 1)

Loading...