This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.

Originally posted by Manisekar Chinnasami: int a, b=1111111,c=100000,d;

You are not assigning binary numbers to the variables b and c here, but decimal numbers. Java doesn't have a way to express integer literals as binary numbers. You could try this instead:

To repeat what everyone is saying... The value of c is assigned the decimal value of 1011111. Not the binary value of 1011111. Even if you convert it to string, using Integer.toString(), you are converting the wrong value.

Henry

Manisekar Chinnasami
Greenhorn

Joined: Apr 07, 2007
Posts: 24

posted

0

THEN HOW COULD I DO IT WITH THE BINARY NUMBERS ???

THE ACTUAL PROBLEMS IS,

CONSIDER A BINARY NUMBER 110110101, HAVE TO CHECK BITWISE DIGIT TO ZERO OR ONE, IF IT IS ONE, THE NUMBER LEFT UNCHANGED,ELSE IF IT IS 0, THEN IT SHOULD BE CHANGED TO ONE.

IF I USE SHIFT OPERATORS WILL IT WORK ???

IS THERE ANY WAY TO INITIALISE THE NUMBERS AS BINARY ??(i think it is not there in Java)

IS THERE ANY WAY TO INITIALISE THE NUMBERS AS BINARY ??(i think it is not there in Java)

I know this seems to be rubbing salt on the wound, but you don't seem to understand that this is more your issue, than Java's. There is no such thing as "INITIALISE THE NUMBERS AS BINARY" -- integers are in the integer format.

Decimal, Octal, Hexidecimal, are literal formats used to help the programmer specify that integer value. In your case, you want to specify a literal value -- and it is that, that you want in binary.

If there was a huge problem with mentally converting a binary (literal) value to hexidecimal or octal -- then programmers would have pushed to have binary literals added a long time ago.

Quite frankly, it takes seconds to mentally convert a binary literal value to its octal or hexidecimal counterpart. And you don't need a calculator.

110110101 --> 110 110 101 --> 0665

or

110110101 --> 1 1011 0101 --> 0x1B5

But... To answer your question. There is currently no easy way to specify a integer literal as a binary in Java. So... if you absolutely need to have it done as a binary integer literal, then you can't do it. Sorry.

Henry

Manisekar Chinnasami
Greenhorn

Joined: Apr 07, 2007
Posts: 24

posted

0

thanks for your reply ...

finally i have got the solution for my problem ...

i have converted it to String and performed the & operation and back to binary number and stored as integer type ...

finally i have got the solution for my problem ... bitWiseCheck = Integer.parseInt(Integer.toBinaryString((Integer.parseInt(Integer.toString(binVal[j]),2)) & (Integer.parseInt(Integer.toString(vsVal),2))));

I don't think so. Try your code for -3 and -2 for instance, or 16 and 15.