473,836 Members | 2,130 Online

1's complement and 2's complement

Hi all,
I have a few doubts in the 1's and 2's complement
representation. Generally negative numbers can be represented using
either 1's complement or 2's complement representation.

1's complement ---reverse all the bits
2's complement ---reverse all the bits + 1

i.e 1's complement of 2 ( 0000 0010 ) is -2 ( 1111 1101 )
But when a number and its complement are added the result must be a
zero right ??
But in this case 0000 0010 + 1111 1101 = 1111 1111 ==[ ?? ]
Should'nt we be getting a zero as result ???

2's complement of 2 ( 0000 0010 ) is -2 ( 1111 1110 )
Adding we get , 0000 0010 + 1111 1110 = 0000 0000 ==[ OK]

Does this complement representation have anything to do with the C's ~
[1's complement] operator ?
Is this representation architecture dependent or compiler dependent ?

Regards,
Sarathy

Aug 1 '06
20 45551

"Joe Wright" <jo********@com cast.netskrev i meddelandet
news:x9******** *************** *******@comcast .com...
Dik T. Winter wrote:
>In article <11************ **********@m79g 2000cwm.googleg roups.com>
"=?iso-8859-1?q?Kirit_S=E6l ensminde?="
<ki*********** *****@gmail.com writes:
> Roy Smith wrote:
That being said, I haven't seen a 1's complement
machine in a couple of eons. It's pretty much an obsolete
concept as far
> as hardware design goes.
Except of course as part of the format for IEEE floating point
numbers
> (float, double etc.).

I would not trust a book by an author who does not know the
difference
between 1-s complement and sign-magnitude. The last machine I had
access to that used 1-s complement was the CDC Cyber 750, and the
successor in 750 mode (both for int and for float).

Nobody doubts there were 1's complement iron, but when? The last CDC
machine I saw was the 160A in 1962 and I have no idea of its
arithmetic mode. In 1963 I learned the Philco 212/2000 system which
was 2's complement. Every machine I've seen since then is 2's
complement for integer arithmetic. That's 43 years. But I haven't
seen them all.

What was the last 1's complement machine and when was it last
produced?
The Unisys Clearpath 2200 - still very much in production!

http://www.unisys.com/products/mainf...ames/index.htm
This is one reason why C++ doesn't require 32 bit 2's complement
harware, when there are some that are 36 bit 1's complement.
Don't miss the webcast tomorrow, when the next model is launched! :-)

http://www.unisys.com/products/mainf...0727151029.htm