dsfextreme
arm.jr:
Tenho dois números binarios > Ex: 100010 e 110010, eu queria pegar posição por posição e fazer um XOR entre eles.
Eu queria saber se existe algum método que faz isso? Ou vou ter que fazer usando um IF mesmo?!
EX:
[color=red]100010 -> 1 0 0 …
XOR
110010 -> 1 1 0 …
RESULTADO -> 0 1 0 …[/color]
Hi !
Acabei de responder seu post no portal java…
Não era aquilo que vc queria não ?
:arrow: Resposta
Um abraço !
pensadorx
Use os operadores bit a bit.
Em Java existe tanto para AND (&), OR(|) como XOR(^).
Dai fica direto, basta pegar o primeiro número com o segundo, como por exemplo:
.
.
.
int num1 = 34; // em binário = 100010
int num2 = 50; // em binário = 110010
int resultado = num1 ^ num2; // em binário = 010000
.
.
Só para verificar:
System.out.println( Integer.toBinaryString( num1 ) );
System.out.println( Integer.toBinaryString( num2 ) );
System.out.println( Integer.toBinaryString( num1 ^ num2 ) );
Espero ter ajudado.