用MPFR舍入整数
Rounding to Integer with MPFR
我已经编写了一个小程序来计算斐波那契号的数字,但是由于数字的大小,我不得不使用MPFR和GMP。我得到了正确的值,但是我需要能够将它们围成最接近的整数,并且可以预见的是,MPFR圆圈中包含的圆形模式到浮点值。是否有一种简单的方法可以执行MPFR_T舍入到INT?
您可以首先使用mpfr_get_z
,然后使用GMP功能,或直接mpfr_get_ui
或mpfr_get_si
。
mpfr具有与整数相关的功能;圆,地板,天花板,截断和最近的整数转换整数
int mpfr_rint (mpfr t rop, mpfr t op, mp rnd t rnd)
int mpfr_ceil (mpfr t rop, mpfr t op)
int mpfr_floor (mpfr t rop, mpfr t op)
int mpfr_round (mpfr t rop, mpfr t op)
int mpfr_trunc (mpfr t rop, mpfr t op)
将ROP设置为OP将其四舍五入到整数。MPFR_RINT在给定的圆形模式下,MPFR_CEIL在下一个更高或相等的代表整数,mpfr_floor到下一个较低或相等代表的整数,mpfr_round,mpfr_floor,mpfr_floor,mpfr_floor,mpfr_floor,mpfr_round到最近的代表性整数,从零圆形的情况(如in in in in)IEEE 754-2008的RoundTiestOaway模式),然后mpfr_trunc to下一个代表整数朝零。
然后使用mpfr_get_z
之类的转换获取mpz_t
。
相关文章:
- C++将浮点指针值舍入为小数位数
- Boost::posix_time::ptime舍入到给定的分钟数
- 浮点定向舍入和优化
- 为什么输出精度没有正确舍入?
- 弄清楚如何在C++中将整数读入 ASCII
- 将一系列整数放入类的最佳方法是什么?
- 使用设置精度时如何阻止数字向上舍入?
- 将整数舍入到另一个整数的最接近的倍数
- 在与C 双打中存储的大整数时,如何避免舍入/精确错误
- 是整数舍入规则决定了 C++、python3 和 python2.7 之间的 % 操作差异吗?
- 实现整数除法向上舍入的正确方法是什么?
- 如何将数字向上舍入到下一个整数
- 将浮点值向上舍入为整数,这有多可靠
- 用MPFR舍入整数
- C 的整数舍入
- 将浮点数转换为整数时如何舍入
- C++ 将特殊浮点值舍入为整数
- 不带逻辑运算符的舍入整数除法
- 误差C++舍入数字 - 表达式必须具有整数或枚举类型
- 使用整数除法减少舍入错误