E ae galera tudo bem ?
Bom estou com dúvida a respeito do operador de troca de bits.
É o seguinte as operações de troca de bits são aplicada as int, certo ?
int a=1;
System.out.println(~a);
Me respondam o seguinte como a VM chegou ao valor -2 ?
Sabemos que o valor 1(decimal) no valor binário é 1. Quantos bits ele pega para fazer a conversão ?
em binário considerando os 32 bits o 1 é :
00000000000000000000000000000001
para fazer a conversão ele usa todos os bits ? Ficando
11111111111111111111111111111110. Como é que este número pode ser -2 ?
Na prova eu tenho que usar quantos bits para fazer a conversão.
por exemplo eu teria que representar o 1 assim : 001 e fazer a conversão destes 3 bits ?
ficando 110 e o bit mais significativo é o do sinal ?
Por exemplo 5 = 0101 e ~5= ? Como seria sua representação em Bin ?
Não sei se fui claro.
Só para ajudar ~5 é igual -6.
Vlw.

