gmpy2 python 扩展库的用法笔记

2021/6/12 20:25:53

本文主要是介绍gmpy2 python 扩展库的用法笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

gmpy2 python 扩展库的用法笔记

1. 初始化一个高精度的数据类型

	a. a=gmpy2.mpz(x) 可以为变量a赋予一个高精度的大整数(长度可达50位)
	b. a=gmpy2.mpq(x) 可以为变量a初始化一个高精度的分数
	c. a=gmpy2.mpfr(x) 可以为a初始化一个高精度的浮点数
	d. a=gmpy2.mpc(x) 可以为a初始化一个高精度的复数

2. 其它的常用语法

	a. 模幂运算:gmpy2.powmod(a,n,p)   #对于给定的整数p,n,a,计算aⁿ mod p
	b. 对x开n次方根:gmpy2.iroot(x,n)
	c. 欧几里得算法:gmpy2.gcd(a,b)#求得a,b的最大公约数
			       gmpy2.lcm(a,b)#求得最小公倍数
	d. 扩展欧几里得:gmpy2.gcdext(e1,e2)#求式子e1*x+e2*y=gcd(e1,e2)。在RSA加密算法中利用该公式来求e的逆元d,由于实际上公钥e的选取需要保证gcd(e,ψ(n))=1,所以在这种情况下式子的右边就是1,且通常用下面这个公式来求逆元。
	e. 模逆运算:gmpy2.invert(a,c)#对a,求b,使得a*b=1(mod c)
	f. 检测
		i. 素数检测:gmpy2.is_prime()
		ii. 奇数检测:gmpy2.is_even()
		iii. 偶数检测:gmpy2.is_odd()

gmpy2扩展库官方文档地址:https://gmpy2.readthedocs.io/en/latest/(虽然看不懂官方文档)



这篇关于gmpy2 python 扩展库的用法笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程