C++ gmp大数运算库 window下配置使用
2018-02-28 14:07
555 查看
上一篇讲了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的基本用法,详细的还是看使用手册~
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的基本用法,详细的还是看使用手册~
相关文章推荐
- gmp大数运算库 window下安装配置和使用(上)
- gmp大数运算库 window下安装配置和使用(下)
- C++使用string大数运算——加法
- 使用SWIG实现C++导出python接口的配置
- Widnows 使用gcc的编码c,c++环境配置
- TIniFile类--使用INI配置文件,C++
- Netbeans6.8使用手札(NetBeans6.8中Java、php、C/C++开发配置)
- window下如何配置sybase使用最大内存
- GMP大数库VC使用入门教程
- window配置emacs编译c++程序
- C++/GDI+ 学习笔记(一)——安装、配置&使用
- 使用nginx来负载均衡 本文在window与linux下配置nginx实现负载
- VIM使用系列之一——配置VIM下C/C++编程环境
- 在VS 2005中使用托管C++需要的配置
- 使用Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解(1)
- c++ 大数运算测试代码
- 大数之四则运算(C++)
- 使用Eclipse3.01 + MinGW3.1配置标准C/C++开发环境详解