Help - Algebra booleana

Fala galera, esse semestre comecei a estudar java, so que um dos codigos apresentados, tem me deixado intrigado, é algebra boleana, esse valor é calculado pelo byte do numero, como o copilado proecessa essas dados?
O valor o qual estou falando é o B:2, XOR.

package exemplo002;

public class Exemplo002 {
  public static void main(String[] args) {
    int a = 5, b = 32, c = 7;
    System.out.printf("A: %d\t B: %d\t C:%d\n",a,b,c);
    b = b - c;
    b /= a;
    System.out.printf("A: %d\t B: %d\t C:%d\n",a,b,c);
    b = a ^ c;
    System.out.printf("A: %d\t B: %d\t C:%d\n",a,b,c);
    b++;
    System.out.printf("A: %d\t B: %d\t C:%d\n",a,b,c);
  }
}

Retorno:

A:5 B:32 C:7

A:5 B:5 C:7

A:5 B:2 C:7

A:5 B:3 C:7

O operator ^ simplesmente executa um XOR para cada um dos pares de bits da variável a e b.

5 em binário é 101.
7 em binário é 111.

1 XOR 1 = 0
0 XOR 1 = 1
1 XOR 1 = 0

Logo, o resultado será 010 (que é 2 na notação decimal).

    int a = 5;     // em binário: 101
    int b = 7;     // em binário: 111
    int c = a ^ b; // em binário: 010
    System.out.println(c); // 010 é 2 em decimal.
2 curtidas

Valeu mesmo!!!
Deu uma clareada legal!!!