Запись числа -128 в Java в двоичном представлении
Есть код:
public class Main{
public static void main(String[] args) {
byte a;
a = (byte)0b1000_0000;
System.out.println(a + ":\t0b1000_0000");
}
}
В коде я привожу число -128 к типу byte
, так как это литерал типа int
. Объясните, почему ( без приведения типа работать не будет ).
Разве код не должен работать и без приведения, так как диапазон типа byte
[-128/127].
Есть код:
public class Main{
public static void main(String[] args) {
byte a;
a = 0b1000_0000;
System.out.println(a + ":\t0b1000_0000");
}
}
Ожидал что работать будет так.