JAVA问题总结之6--强制转换损失精度分析
2015-08-24 22:23
525 查看
问题6:JAVA强制转换损失精度分析:强制转换时是去掉高位保存低位
输出结果:
可以看的出来long型为12345,但是byte就变成了57.明显数据不对。
分析:
long为四个字节,12345存储格式为:
byte为一个字节,即8位,强制转换时是去掉高位保存低位,所以保存的是00111001,所以输出的byte型数据是57.
其他依次类推
<pre name="code" class="java">package p1; public class test4 { public static void main(String[] args) { long l1=12345l; byte b1=(byte)l1; System.out.println("long is "+l1); System.out.println("byte is "+b1); } }
输出结果:
long is 12345 byte is 57
可以看的出来long型为12345,但是byte就变成了57.明显数据不对。
分析:
long为四个字节,12345存储格式为:
byte为一个字节,即8位,强制转换时是去掉高位保存低位,所以保存的是00111001,所以输出的byte型数据是57.
其他依次类推
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统