Bom dia,
Estou com a seguinte dúvida:
byte b1 = 1;
byte b2 = 2;
byte b3 = b1 + b2; //erro de compilação
Eu entendi que esse erro ocorre porque a soma desses dois bytes retornou um int e não é garantido que este int irá caber em um byte. Está correto?
Para que este código funcionasse teria que fazer o cast explícito… ficando:
byte b1 = 1;
byte b2 = 2;
byte b3 = (byte) (b1 + b2); //agora compila
Se eu tiver entendido corretamente, a mesma lógica não deveria ser aplicada aqui:
float f1 = 1;
float f2 = 2;
float f3 = f1 + f2; //compila normal...
Não deveria valer a mesma lógica, pois a soma desses dois floats vai retornar um double, correto? E, como no caso anterior, não é garantido que o número vai caber num float…
Alguém pode explicar, por favor?
Grato,
Éberson