binary example

>>What will be output by the following line of code?

System.out.println(010|4);

1) 14
2) 0
3) 6
4) 12

Answer given was 12.

 
I read above question from link
http://www.jchq.net/certkey/0503certkey.htm
i did not understand how 12 is answer and how octal is related here.



Any ideas, resources,sample code,links,  highly appreciated. thanks in advance.
LVL 7
gudii9Asked:
Who is Participating?
 
for_yanCommented:

In Java plain normal numbers are understood of course as decimal,
when the integer starts with zero - that is octal,
when it starts with 0x - that is hexadecimal

I think until Java 7 there is no special way to specify
binary, in Java 7 it should begin woth 0b or 0B, like that:  0b1010000
Before Java 7 you may use Integer.paarseInt("10101",2);
0
 
for_yanCommented:

010 is octal ten as it starts with zero, means it is decimal 8 or binary 1000

4 is binary 100

now when you make bitwise or 1000 with 100 you end up with 1100 which will be 8 + 4 = 12

0
 
Amitkumar PSr. ConsultantCommented:
Agreed with for_yan.

gudii9,

To understand the working process of the & and | operators, you need to be familiar with converting from decimal to binary and learn what happens with the bit patterns.
0
 
gudii9Author Commented:
>>4 is binary 100
How to know the number orignally in which mode like octal, binary, decimal, Hex etc. Then
how we know we have to convert to binary before adding when there are 10 different modes like Hex, Octal etc all. please advise
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.