栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java中的浮点数和双精度数有多少个有效数字?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的浮点数和双精度数有多少个有效数字?

float:32位(4个字节),其中23位用于尾数(约7个十进制数字)。指数使用8位,因此浮点数可以使用这8位将小数点“移动”到右边或左边。这样做避免了像0.0000003(3×10 -7)或3000000(3×10 7)那样在尾数中存储大量零。有1位用作符号位。

double:64位(8字节),其中52位用于尾数(约16个十进制数字)。指数使用11位,符号位使用1位。

由于我们使用的是二进制数(仅0和1),因此当数字非零时,尾数中的一位隐式为1(浮点和重复使用此技巧)。

另外,由于所有内容均为二进制(尾数和指数),因此通常无法精确转换为十进制数。像0.5、0.25、0.75、0.125这样的数字会被精确存储,但不会存储0.1。正如其他人所说,如果您需要精确存储美分,则不要使用float或double,而应使用int,long,BigInteger或BigDecimal。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号