GMPY2 - 如何避免gmpy2.floor()返回mpfr而不是mpz?

时间:2017-02-26 21:28:42

标签: python-3.x gmpy

gmpy2.floor()变量上使用mpz之后:

 x = mpz(5)
 x = gmpy2.floor(x/256)

x的类型为mpfr而不是mpz,即使按照我的理解,也会返回整数。

我该如何避免?

我害怕使用x = mpz(gmpy2.floor(x/256))会降低性能,不是吗?

1 个答案:

答案 0 :(得分:1)

gmpy2包装MPFR库,并返回mpfr作为结果类型。

请参阅http://www.mpfr.org/mpfr-current/mpfr.html#Integer-Related-Functions

仅供参考,Python 2.x从float返回math.floor。 Python 3的行为已更改。

如果您正在寻找整数除法的底线,可以使用//

>>> gmpy2.mpz(123456789)//256
mpz(482253)