This week's book giveaway is in the OCAJP 8 forum.We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line!See this thread for details.
Big Moose Saloon
 Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies Register / Login Win a copy of OCA Java SE 8 Programmer I Study Guide this week in the OCAJP 8 forum!

# two's complement to original

Akhilesh Trivedi
Ranch Hand

Joined: Jun 22, 2005
Posts: 1599
Basic to bits are bugging me...
Java stores negative numbers in form of two's complement. Ok! I know what two's complement is all about, turning 0's to 1's, 1's to 0's and adding a 1 to it. So let us say to store -7 in java way, I do a two's complement of its binary equivalent

0000 0000 0000 0000 0000 0000 0000 0111

and get

1111 1111 1111 1111 1111 1111 1111 1001.

Now, how do I revert back to -7 from here? I mean how do you say that it is a negative number and that it equals to seven, ok forget about the sign part that will be known by MSB, but what about value? :roll:

[ July 04, 2005: Message edited by: Akhil Trivedi ]
[ July 04, 2005: Message edited by: Akhil Trivedi ]

Keep Smiling Always — My life is smoother when running silent. -paul
[FAQs] [Certification Guides] [The Linux Documentation Project]
Marc Marechal
Greenhorn

Joined: Apr 15, 2005
Posts: 17
Hi,

It is the same thing : turns ones to zeros, and add one.

Marc.
Akhilesh Trivedi
Ranch Hand

Joined: Jun 22, 2005
Posts: 1599
I get you marc, and as you said it goes like this...

0000 0000 0000 0000 0000 0000 0000 0111

i.e.

+7

If I leave MSB then

1000 0000 0000 0000 0000 0000 0000 0111

it goes somewhere else..

So given a binary number, you look at its MSB
if its 0-- then number is positive, nothing to do, just find the value.
if its 1-- then number is negative and is in its two's complement format, to find its value again take two's complement (including MSB) .

Thanks a lot marc. :-)

I agree. Here's the link: http://aspose.com/file-tools

subject: two's complement to original