0

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

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

x有类型mpfr,但mpz不再有,尽管据我了解, floor 总是返回整数。

我怎样才能避免这种情况?

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

4

1 回答 1

1

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

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

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

如果您正在寻找整数除法的下限,您可以使用//.

>>> gmpy2.mpz(123456789)//256
mpz(482253)
于 2017-02-27T18:41:06.903 回答