Hi there:

The definition of toBinaryString is:

toBinaryString

public static String toBinaryString(int i)

Creates a string representation of the integer argument as an unsigned integer in base 2.

**The unsigned integer value is the argument plus 232if the argument is negative**; otherwise it is equal to the argument. This value is converted to a string of ASCII digits in binary (base 2) with no extra leading 0s. If the unsigned magnitude is zero, it is represented by a single zero character '0' ('\u0030'); otherwise, the first character of the representation of the unsigned magnitude will not be the zero character. The characters '0' ('\u0030') and '1' ('\u0031') are used as binary digits.

Parameters:

i - an integer.

Returns:

the string representation of the unsigned integer value represented by the argument in binary (base 2).

Since:

JDK1.0.2

Is it correct to say that translation of what is in bold is that method returns 2's compliment for negative numbers.

Is it true that

java stores negative numbers in 2's compliment.

The toBinaryString drops leading zeros. Is there a way to stop it from droping them?

Thanks

Barkat