Understanding Complements Arithmetic: One's & Nine's in Decimals & Binary

  • Thread starter Thread starter King
  • Start date Start date
  • Tags Tags
    Method
Click For Summary

Discussion Overview

The discussion revolves around understanding one's and two's complement arithmetic in both decimal and binary systems. Participants are exploring calculations involving nine's and ten's complements, as well as the application of one's complement in binary subtraction.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant describes a method for using nine's complement in decimal subtraction, expressing confusion about the role of ten's complement in the process.
  • Another participant attempts to clarify the binary subtraction problem, suggesting that the original binary addition may have been incorrect.
  • A participant acknowledges a realization about dropping the leftmost bit in binary addition but expresses confusion about the differences between one's and two's complement.
  • Participants discuss the nature of one's complement as bit inversion and two's complement as a method for representing negative values and performing addition/subtraction.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the understanding of one's and two's complement, with some expressing confusion and seeking clarification on the differences and applications of these concepts.

Contextual Notes

There are unresolved aspects regarding the calculations and the definitions of complements, particularly in how they apply to both decimal and binary systems. Some assumptions about the arithmetic processes may not be fully articulated.

Who May Find This Useful

Individuals interested in digital arithmetic, computer science, or those learning about binary and decimal complement systems may find this discussion relevant.

King
Messages
43
Reaction score
0
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:
 
Technology news on Phys.org
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.
 
Hey WaterRain,
Thanks for having a go :smile:

I realized in my calculations here:
King said:
101111
100011 +
101100
111110 +
110010
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:
 
King said:
Hey WaterRain,
Thanks for having a go :smile:

I realized 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:

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..
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
9K
Replies
3
Views
13K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
4
Views
2K
  • · Replies 4 ·
Replies
4
Views
16K
  • · Replies 6 ·
Replies
6
Views
4K