A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

计算机底层不是二进制表示吗,float用4个字节表示,而Long用八个,为啥反而后者比前者大?????????????????????????????????

21 个回复

倒序浏览
如果真按你说的那样  可能是float类型包含了许多小数
回复 使用道具 举报
视频里面好像有讲解为什么float比long要大,你去看看视频怎么说!
回复 使用道具 举报
他的取值范围大啊
回复 使用道具 举报
float用科学计数法,指数底数表示的。视频里提过一嘴,详细的介绍在刚开始那几天的code或者resource文件夹里有吧好像……

回复 使用道具 举报
取值范围long的比float大,这有什么问题啊
回复 使用道具 举报
它俩的存储结构不一样,float的存储结构比较特殊。你可以了解一下。
回复 使用道具 举报
底层运算机制不同的
回复 使用道具 举报
因为float是小数类型,你想想小数有多少
回复 使用道具 举报
float 后面几位表示的是 几次幂
回复 使用道具 举报
浮点数,就是说小数点可以浮动,用同样的计算机存储位可以存储更大的数,但是会损失精度的,就是一些信息会丢失..
比如整数的最大值2147483647,变成float为2.147484E+09这样已经可以看到精度已经丢失.
一般的folat的存储方式是用前24位保存数值,后8位保存小数位.
回复 使用道具 举报
通过两个取值范围来判断,  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
回复 使用道具 举报
学习学习!
回复 使用道具 举报
敲敲乐z 发表于 2016-8-15 21:33
视频里面好像有讲解为什么float比long要大,你去看看视频怎么说!

哦,我没咋看视频就是看了看笔记
回复 使用道具 举报
汪萌萌 发表于 2016-8-15 21:49
他的取值范围大啊

为啥呢,详解不待下载视频去了
回复 使用道具 举报
汪萌萌 发表于 2016-8-15 21:49
他的取值范围大啊

为啥呢,详解不待下载视频去了{:3_48:}
回复 使用道具 举报
确实是   java真是博大进深呀 。。。
回复 使用道具 举报
long 占八个字节 -2^63~2^63-1
* 浮点型
* float 占四个字节 -3.403E38~3.403E38  单精度
回复 使用道具 举报
冯潜001 发表于 2016-8-15 23:50
float 后面几位表示的是 几次幂

收到哈哈。我么看视频只看了看笔记所以有的地方看不懂
回复 使用道具 举报
因为float是4个字节,而long是8个字节,所以后者比前者大
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马