黑马程序员技术交流社区

标题: 关于数据类型强制转换问题~~遇到了就问问大家 为什么... [打印本页]

作者: Joesph    时间: 2013-7-25 11:17
标题: 关于数据类型强制转换问题~~遇到了就问问大家 为什么...
本帖最后由 杨兴庭 于 2013-7-25 23:13 编辑

[img]file:///C:/Users/Administrator/AppData/Roaming/Tencent/Users/981702223/QQ/WinTemp/RichOle/YYI]MOU_X%60EGW3@J[1E3L[E.jpg[/img]
如果-2变为0和正整数  那么,打印的就是原数
还有你输入32768,试试,打印结果看看。。不明白?

作者: Joesph    时间: 2013-7-25 11:19
发现图片没传上去

未命名.jpg (32.14 KB, 下载次数: 0)

未命名.jpg

作者: 草貌路飞    时间: 2013-7-25 12:05
关键是char把它弄成正的了 不然换成short也是两个字节就对了,
32768  -->1000000000000000 byte取最后8位留下就全0了 再扩展也是全0 所以就是0
作者: 王峰230321    时间: 2013-7-25 12:12
知道什么叫 损失精度吗. . ?  byte  1个字节    char是一个字符, 勉强可以理解成2个字节吧.   int 是 4个字节.
你这个 问题出在与 .  如果你第一次强转的数额就大于btye .  那么就会损失精度.   
. 127到-128 之间  .  如果超过了. 数也就变了. .  至于具体变成什么.   那就看 做损失精度的时候 . 具体 把什么部分去掉了.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2