黑马程序员技术交流社区

标题: 基本类型的一个困扰 [打印本页]

作者: 18253105329    时间: 2015-12-17 11:56
标题: 基本类型的一个困扰
long类型占8个8位,float占4个8位。为什么能够自动将long类型转换为float型,而不丢失精度呢。
作者: zcbcba123    时间: 2015-12-17 11:56
你看这张图,float比long的还要多,所以低转高就不会丢失了。。应该是这样的,我再去确认下各自占的空间就知道了~等我~

20140531150520890.png (9.26 KB, 下载次数: 27)

20140531150520890.png

作者: zcbcba123    时间: 2015-12-17 12:01
你确定不丢失精度吗?是不是因为你的数据正好符合float的范围,所以没有删减位造成没有损失精度的
作者: 18253105329    时间: 2015-12-17 12:04
zcbcba123 发表于 2015-12-17 12:01
你确定不丢失精度吗?是不是因为你的数据正好符合float的范围,所以没有删减位造成没有损失精度的 ...

当然不会,这是我自学课本上的自动转换实例
作者: 18253105329    时间: 2015-12-17 12:08
zcbcba123 发表于 2015-12-17 12:05
你看这张图,float比long的还要多,所以低转高就不会丢失了。。应该是这样的,我再去确认下各自占的空间就 ...

这是自动转换的等级关系,我知道。问题就是这个,float只占4个8位,为什么能承载long的8个8位的数据呢
作者: zcbcba123    时间: 2015-12-17 12:11
18253105329 发表于 2015-12-17 12:08
这是自动转换的等级关系,我知道。问题就是这个,float只占4个8位,为什么能承载long的8个8位的数据呢 ...

确实好奇怪。。。为什么float占的字节少却排在高位呢。。。好问题~
作者: 18253105329    时间: 2015-12-17 12:13
zcbcba123 发表于 2015-12-17 12:05
你看这张图,float比long的还要多,所以低转高就不会丢失了。。应该是这样的,我再去确认下各自占的空间就 ...

我找到了之前有人问过类似问题,明白了。还是谢谢你

作者: zcbcba123    时间: 2015-12-17 12:13
18253105329 发表于 2015-12-17 12:08
这是自动转换的等级关系,我知道。问题就是这个,float只占4个8位,为什么能承载long的8个8位的数据呢 ...

哥们儿,我找到答案了,好惊喜!http://wenda.haosou.com/q/1386588105060030
作者: zcbcba123    时间: 2015-12-17 12:15
18253105329 发表于 2015-12-17 12:13
我找到了之前有人问过类似问题,明白了。还是谢谢你

谢谢你的问题,我也学到了~真的是个好问题~
作者: 爱吃砂锅    时间: 2015-12-19 20:11
好问题呀
作者: 雨来    时间: 2015-12-24 20:15
学习一下,问题,上面的表不代表理论中啊,你看一张表就能懂了啊
作者: 13885528457    时间: 2015-12-25 09:19
666666666666
作者: cj286    时间: 2015-12-26 13:34
6666666666
作者: hyy8516998    时间: 2016-1-10 21:09
float:4个字节
        * IEEE754
        * 4个字节是32个二进制位
        * 1位是符号位
        * 8位是指数位
        * 00000000   11111111
        * 0到255
        * 1到254
        * -126到127
        * 23位是尾数位
        * 每个指数位减去127
作者: hyy8516998    时间: 2016-1-10 21:11
float表示的数据范围比long的范围要大
                * long:2^63-1
                * float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1
作者: hpuie0703    时间: 2016-3-3 23:51
好题.学到了,都是干货.




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