黑马程序员技术交流社区
标题:
强制转换数据溢出后的结果怎么算?
[打印本页]
作者:
wuyingtong
时间:
2015-4-22 23:09
标题:
强制转换数据溢出后的结果怎么算?
/*
需求:byte b = 300;这个有问题吗?如果有问题如何解决?结果是多少?
分析:
A:首先使用强制转换
byte b = (byte)300;
B:将300的二进制计算出来
00000000 00000000 00000001 00101100
又因为300是正数,所以原码,反码,补码都是相同的。
C:因为byte为1个字节,做截取操作
00101100 这个是补码
已知补码,求原码
符号位 数值位
补码 0 0101100
反码 0 0101100
原码 0 0101100
结果是44.
*/
class DataDemo{
public static void main(String[] args){
byte b = (byte)300;
System.out.println(b);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2