Eh. Vamos ver…
Resumo em decimal:
static int oResultadoÉ(int n){
n = (n & [telefone removido]) + ((n >>> 1) & [telefone removido]);
n = (n & 858993459) + ((n >>> 2) & 858993459);
n = (n & 252645135) + ((n >>> 3) & 252645135);
return n%255;
}
resultados:
n = 5 -> a entrada do método estático é 5;
primeiro:
n = (8 & [telefone removido]) + (4 & [telefone removido]) = 4 decimais
0000000000000000000000000001000
& 1010101010101010101010101010101
0000000000000000000000000000000
0000000000000000000000000000100
- & 1010101010101010101010101010101 = 4 dec.
-------------------------------------------
0000000000000000000000000000100
segundo:
n = (4 & 858993459) + (1 & 858993459)
000000000000000000000000000100
& 110011001100110011001100110011
000000000000000000000000000000
000000000000000000000000000001
- & 110011001100110011001100110011
------------------------------------------ = 1 dec.
000000000000000000000000000001
terceiro:
n = (1 & 252645135) + (1 & 252645135)
0000000000000000000000000001
& 1111000011110000111100001111
0000000000000000000000000001
0000000000000000000000000000
- & 1111000011110000111100001111 = 1 dec.
---------------------------------------
0000000000000000000000000000
quarto:
return 1%255; // o resultado é igual a 1
e é isso ai. Se eu estiver errado, me corrijam por favor. Valeu!!! hehe