上一篇讲了gmp的安装配置,这一篇就来讲讲其具体的使用。
GMP 的主要目标应用领域是密码学的应用和研究、 互联网安全应用、 代数系统、 计算代数研究等。其详细的用法可以参考官方使用手册:https://gmplib.org/gmp-man-6.1.0.pdf,里面详细的介绍了gmp的用法。现在下面就简单的总结一下基本的用法:
添加头文件:#include <gmp.h>
cmd编译命令:gcc myprogram.c -lgmp -lm -o myprogram
声明一个gmp的整数rop :mpz_t rop;
把字符串初始化为gmp大整数:int mpz_init_set_str(mpz_t rop, char*str, int base);
释放空间:void mpz_clear(mpz_t rop);//声明了一个变量,在程序的最后一定要释放,不然会报错
加法:void mpz_add(mpz_t rop, mpz_t op1, mpz_t op2); //rop = op1 + op2
减法:void mpz_sub(mpz_t rop, mpz_t op1, mpz_t op2); //rop = op1 - op2
乘法:void mpz_mul(mpz_t rop, mpz_t op1, mpz_t op2); //rop = op1 * op2
除法:void mpz_cdiv_q (mpz_t q, mpz_t n, mpz_t d); //q = n/d,这个有很多种类型,具体的看使用手册
幂运算:void mpz_pow_ui (mpz_t rop, mpz_t base, unsigned long int exp); //rop = base^exp
开方:void mpz_sqrt (mpz_t rop, mpz_t op); //rop = op开方的向下取整
......
以上就是gmp的基本用法,详细的还是看使用手册~