This week's book giveaways are in the Refactoring and Agile forums.We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!

# two's complement to original

Akhilesh Trivedi
Ranch Hand
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 ]

Marc Marechal
Greenhorn
Posts: 17
Hi,

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

Marc.

Akhilesh Trivedi
Ranch Hand
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. :-)