首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单的GMP/MPIR问题

简单的GMP/MPIR问题
EN

Stack Overflow用户
提问于 2013-01-13 10:12:59
回答 1查看 347关注 0票数 0

我正在使用VS2010试用GMP/MPIR,我不明白为什么输入10 10的输出是0.999999999999999999909e101。

我希望所有的数字都会显示,因为我在mpf_out_str调用中为n_digits设置了1000,使用的结果是0。为什么是9和909e101?

另外,你如何输入巨大的数字,gmp_scanf似乎不能处理100位数字。

代码语言:javascript
复制
#include <mpirxx.h>

main()
{

  mpf_t tt, t2;

  mpf_init(tt);
  mpf_init(t2);

  gmp_scanf("%Fe\n", tt);
  gmp_scanf("%Fe\n", t2);

  for (int i = 0; i < 100; i++)
      mpf_mul(tt, tt, t2);

  mpf_out_str(stdout, 10, 1000, tt);

  mpf_clear(tt);
  mpf_clear(t2);

  getc(stdin); 

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-13 15:56:32

您需要指定mpf_t的精度。请参阅mpf_init2()和mpf_set_default_prec()。

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

https://stackoverflow.com/questions/14299993

复制
相关文章

相似问题

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