黑马程序员技术交流社区
标题:
java基础班第二天
[打印本页]
作者:
zeng1002
时间:
2017-3-26 18:27
标题:
java基础班第二天
为什么8字节的long类型会比4字节的float类型精度低呢?新手表示不理解,老师前面说高精度强制转换成低精度时会丢掉前面多出的位数,那么float才4字节,long这种8字节要怎么向float强转呢?
作者:
javaeeheima
时间:
2017-3-26 18:34
一个整数型,一个小数型,有可比性吗?肯定是带小数的精度高啊
作者:
javaeeheima
时间:
2017-3-26 18:36
long是8个字节比float字节大,那只是代表它能表示的整数型的数据范围大而已
作者:
785026612
时间:
2017-3-28 02:46
这就需要区分精确度和储存储存大小的区别,我举个例子 1/3等于多少,0.3或者0.33,或者一直循环下去,0.33这个数相对0.3是不是离准确值更接近,这个就是精确度,你要是把0.33换成0.3,是不是精确度就低了,那么,精确度和大小有什么关系,你就需要了解整型和浮点型的构成,和对2进制的了解,1个字节可以换算成8个位,每个数都是这些二进制位组成,而float的这么多位中,一部分表示小数部分,一部分表示整数,而long是整型,每个位都可以表示2个数,除了首位表示正负,就可以表示一个范围比float大很多的数,但是,精确度和表示范围没有关系,只和小数点后面保留的位和方法里面算法有关
作者:
zeng1002
时间:
2017-3-28 10:14
785026612 发表于 2017-3-28 02:46
这就需要区分精确度和储存储存大小的区别,我举个例子 1/3等于多少,0.3或者0.33,或者一直循环下去,0.33 ...
谢谢分享!
作者:
zxcasdf555
时间:
2017-3-28 21:30
你以为虾米多了就能打的过鱼吗?float的四个字节是在^后面的,其值可达数千次方,不是一个级别的,而long只是最高8位数而已
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2