Pessoal,
estou estudando inversão de bits que aparentemente é muito fácil, mas quando fui testar na máquina estranhei os resultados.
Por exemplo:byte num = 56;
System.out.println("antes " + num);
num = ~num;
System.out.println("depois " + num);
Mas 56 em binário é = 111000
E -57 em binário é
11111111 11111111 11111111 11001000
String xx = Integer.toBinaryString(m);.
Mas o correto não seria
11111111 11111111 11111111 11000111, uma vez que o inverso de 111000 é 000111?
Valeu pessoal, acredito que entendendo isso de quebra eu entenderei <<, >> e >>> de NÚMERO NEGATIVO.