Я понимаю, что операнды автоматически преобразуются в int, и нам нужно снова преобразовать выражение в байт.А для преобразования байтов 24 бита усекаются и оцениваются только 8 бит.Но я не могу понять этот вывод -56.Конечное значение e равно 200, и его преобразование в двоичном виде дает 11001000. Как получается вывод -56?
public class ByteIntAutomaticPromotionInExpressions {
public static void main(String[] args) {
byte e = 50;
e = (byte)(e *2);
System.out.println(e);
e *= 2;
System.out.println(e);
}
}
ВЫХОД:
100
-56