• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

binary example

 
Mathew Lee
Ranch Hand
Posts: 238
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
>>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.
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15448
42
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When you write an integer literal starting with a 0 in Java, such as 010 in the code above, then the number is interpreted as an octal number (base 8) instead of a normal, decimal number (base 10).

010 in octal = 8 in decimal (read about octal if you don't understand why).

The | operator is the bitwise OR operator.

So: 010 | 4 = 8 | 4, in binary this is: 1000 | 0100 = 1100, which is 12 in decimal.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic