在gmpy2.floor()
变量上使用mpz
之后:
x = mpz(5)
x = gmpy2.floor(x/256)
x
的类型为mpfr
而不是mpz
,即使按照我的理解,也会返回整数。
我该如何避免?
我害怕使用x = mpz(gmpy2.floor(x/256))
会降低性能,不是吗?
答案 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)