首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C程序中引入一个有大量有效数字的小数字?

如何在C程序中引入一个有大量有效数字的小数字?
EN

Stack Overflow用户
提问于 2010-03-17 05:23:32
回答 4查看 232关注 0票数 3

我对编程并不是特别了解,我正在尝试弄清楚如何在C程序中计算出一个精确值。我需要一个负7次方的常数,有5个有效数字。有什么建议(请记住,我知道的很少,除了c之外从来没有编程过,而且只在几年前我在学校选修的必修课中)?

谢谢!

EN

回答 4

Stack Overflow用户

发布于 2010-03-17 05:27:04

对于常量值,所需的计算也将是常量。因此,我建议您使用桌面计算器/ MATLAB /其他工具计算该值,然后将其硬编码到C代码中。

票数 2
EN

Stack Overflow用户

发布于 2010-03-17 05:59:49

在计算机浮点格式领域,五个有效数字不是很多。在大多数C实现中,用于float的32位IEEE-754浮点类型有24位精度,大约是7.2位十进制数字。所以你可以毫无畏惧地使用浮点数。double通常有53位精度(几乎16位十进制数字)。Carl Smotricz的回答很好,但在C中也有一个pow函数,您可以将-7.0传递给它。

有时候,你必须小心对算法进行数值分析,以确保不会损失中间结果的精度,但这听起来不像是其中之一。

票数 1
EN

Stack Overflow用户

发布于 2010-03-17 05:38:21

long double在大多数情况下提供了最好的精度,并且可以静态分配和重用,以将浪费降至最低。另请参见quadruple precision。两者都随着平台的不同而变化。四倍精度表示最左边的位(1)继续指示符号,而接下来的15位指示指数。IEEE754(即binary128)如果提供的链接不够充分,它们都指向long double :)

如果我没理解错的话,简单的移位应该会处理剩下的事情。

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

https://stackoverflow.com/questions/2458259

复制
相关文章

相似问题

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