byte a = (byte)300;输出结果是多少?
获取300数据的二进制:
(系统默认int型)00000000 00000000 00000001 00101100
因为300为正数所以原码,反码,补码都一样,byte为一个字节长,所以做截取操作后得:
00101100
对截取后数据进行原反补的转换的:
符号位 数值位
补码 0 0101100
反码 0 0101011
原码 0 1010100
最后运算结果为:84.但是在java程序运行结果为44,我哪里错了???望指教!!!
1 class DataType{ 2 public static void main(String[]args){ 3 byte a =(byte) 300; 4 System.out.println(a); 5 6 7 8 } 9 10 }