首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C语言中浮点数的取值范围

C语言中浮点数的取值范围
EN

Stack Overflow用户
提问于 2016-08-10 05:55:17
回答 2查看 647关注 0票数 0

根据this link的说法,C中的浮点数据类型的范围从1.2E-38到3.4E+38,并且有6位小数精度。

然而,在我看来,值1.2E-38需要比6位小数精度更高的精度才能表示。

我的推理出了什么问题?

EN

回答 2

Stack Overflow用户

发布于 2016-08-10 06:10:41

简而言之,浮点数使用指数来表示数字,而不是像整数那样的2的补数。User3386109的链接解释了它,但是here is a link to an interactive app让你看到每个比特是如何影响最终结果的。我认为你玩弄这些东西会比解释或者链接到维基百科页面更有帮助。

票数 0
EN

Stack Overflow用户

发布于 2019-07-25 09:13:06

计算机使用科学记数法存储浮点值。如果浮点值为293.990933,则科学记数法为0.293990933 * 10^3

此处0符号位

293990933被称为mantisa

3称为指数

保留:用于符号位1的二进制数字。对于mantisa,它可以有24位,其余的32位将用于指数!

默认情况下,当你使用%f时,它会返回数字的6小数!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38861057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档