Pessoal, a fim de entender como funcionam os tipos de dados, estudei bastente, mas msm assim me deparei com um código que por mais que eu tente, está difícil entender o funcionamento, e espero que me ajudem:
public class CalcIt {
public static void main(String[] args) {
byte bd = 12; // 0000 1100
byte be = 9; // 0000 1001
bd = (byte)(bd | be);
}
}
Sei que o tipo byte, é para números inteiros entre -128 e 127, e não entendo pq a operação acima resulta em 13.
Na vdd não sei tb como o operador | age exatamente, li que ele serve como comparador de tipos, mas nesse caso ele me parece realizar uma soma entre os nros.
Enfim, com meus próprios estudos não cheguei à conclusão do pq a operação deu 13, alguém poderia explicar?
abraços