My simple question is why:

System.out.println(010|4);

prints "12"? I understand bitwise OR operator but why "010" equals 8? It's definitely not compliment 2's notification, so how to decode this number?

Edit
Report