强制转换数据溢出

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nlpzryyclxz/article/details/48015431

byte b = 130;
byte 的范围为-128到127,
而130不在此范围内,报错。

//
byte b = (byte)130;
System.out.println(b);

计算机中的数据的运算都是补码进行的。
首先转二进制
130  
A:补(原、反)00000000 00000000 00000000 1000010
B:截取byte
操作补码
1000010

这个结果是补码
反:1    000010
-                     1
       1    000001
原    1    111110

-126

猜你喜欢

转载自blog.csdn.net/nlpzryyclxz/article/details/48015431