sergiotaborda
TiagoTC:
Dado o código:
public class TestByte
{
public static void main(String...sim){
byte b = 127;
byte b2 = 2;
byte b3 = (byte) (b + b2);
System.out.println(b3);
}
}
Por que ele imprime -127 e não -1 ??
Veja o meu raciocínio:
127: 0 1 1 1 1 1 1 1 (sendo o primeiro bit para o sinal)
2 : 0 0 0 0 0 0 1 0 (sendo o primeiro bit para o sinal)
Sum:1 0 0 0 0 0 0 1 (isso não representa o número 1 negativo?!?)
sim, mas o numero -127 não o -1. Lembre-se que para numeros negativos os bits são todos invertidos ou seja
1 0 0 0 0 0 0 1 equivale a (menos 0 1 1 1 1 1 1 0)
ViniGodoy
Mais informações: