c - MPFR 最大整数值
问题描述
类型是否对它们可以存储的最大整数值有限制,或者整数部分是否像类型mpfr_t
一样有效地不受限制(仅受目标机器上的内存限制限制) ?mpz_t
如果是这样,是否有一种简单的方法可以在解析值时检测溢出?
解决方案
您可以表示比mpz_t
指数更大的整数,但您可能希望用 扩展指数范围mpfr_set_emax
,以便在 64 位平台上最大可表示整数几乎为 2^(2^62−1)。也就是说,您将无法准确表示所有整数,因为某些整数(尤其是奇数)需要太高的精度。关于精度的限制,MPFR 的理论限制是MPFR_PREC_MAX
,这在 64 位平台上是巨大的。但在实践中,您将首先达到内存量的限制或大小的 2^37 位的限制mpz_t
。
推荐阅读
- php - 将搜索数据保存到文本文件是否安全?
- mysql - sql字符串在没有准备好的语句的情况下执行
- java - 从字符串中删除元音 - 我得到的答案与输入相同。你能告诉我为什么吗?
- python - 如何在 Python 3 中选择字符串的某些部分?
- java - 我不知道如何完成此代码以显示收藏夹列表
- opencv - 如何通过命令行(Ubuntu)编译 OpenCV 程序?
- java - 如何在 Netbeans 中编写 JFrame 而不是拖放?
- javascript - 如何将多个属性键作为参数传递给使用括号表示法的函数?
- angular - 如何使用 adal-angular5 在 angular 5 中刷新令牌
- c - 更改后自动重新编译C程序?