C++ GMP库

简介

大整数运算库。
官网地址:https://gmplib.org/

使用


初始化

mpz_t a, b, c;  
mpz_init(a);  
mpz_init_set_str(b, "2000000000000000000000000000", 10);  
mpz_init_set_str(c, "3000000000000000000000000000", 10); 

输出

gmp_printf("%Zd\n", b);

加法

mpz_add(a, b, c);

减法

mpz_sub(a, b, c);

乘法

mpz_mul(a, b, c);

除法

/*求商,向上取整*/
mpz_cdiv_q (a, b, c);
/*求余数,由于求商是向上取整,所以余数为0或者负数*/
mpz_cdiv_r (a, b, c);

/*求商,向下取整*/
mpz_fdiv_q (a, b, c);
/*求余数,由于求商是向下取整,所以余数为0或者正数*/
mpz_fdiv_r (a, b, c);

比较

/*b大于c,返回1;b等于c,返回0;b小于c,返回-1*/
mpz_cmp(b, c);

求平方根

/*结果向下取整*/
mpz_sqrt(a, b);

最大公约数

mpz_gcd(a, b, c);

判断是否是一个质数的次幂

mpz_perfect_power_p(b);

幂运算

mpz_pow_ui(a, b, 10);
---------------------
作者:lianzhouxiaowu
来源:CSDN
原文:https://blog.csdn.net/lianzhouxiaowu/article/details/53669636

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值