GMP

Posted fengtai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GMP相关的知识,希望对你有一定的参考价值。

GMP是GNU MP Bignum Library大数运算库的简称.其原理是用字符串表示大数.

1. 安装GMP大数运算库

./configure

make -j

检查编译

make check

安装

make install

2. 使用实例

/*!
* Email: @gmail.com
* Auth: 
* Date: 2019-12-8
* File: gmpTest.c
* Class: %{Cpp:License:ClassName} (if applicable)
* Brief:
* Note:
 */
#include <stdio.h>
#include <gmp.h>
int main(int argc, char *argv[])
{
    mpz_t n;
    if(argc < 2)
    {
        printf("Usage: gmpcalc n
");
        return 1;
    }
    /* 初始化10进制大整数n,并且把命令行的第一个参数赋值给它*/
    mpz_init(n);
    if(mpz_set_str(n, argv[1], 10) != 0)
        return 1;
    /* 打印大整数n的值 */
    printf ("n = ");
    mpz_out_str(stdout, 10, n);
    printf ("
");
    /* 计算(n + 1)的平方 */
    mpz_add_ui(n, n, 1);
    mpz_mul(n, n, n);
    /* 打印(n + 1)平方的值 */
    printf ("(n + 1) ^ 2 = ");
    mpz_out_str(stdout, 10, n);
    printf("
");
    /* 清除和释放大整数n */
    mpz_clear(n);
    return 0;
}

//gcc gmpcalc.c -­lgmp -­lm

 

以上是关于GMP的主要内容,如果未能解决你的问题,请参考以下文章

大数库GMP

如何使用 GMP 创建浮点数组?

gmp的libgmp.so有哪些依赖关系?我一直得到未定义的引用

GMP是啥意思

PHP中操作任意精度大小的GMP扩展学习

为什么我不能在GMP中将向量与mpz_t一起使用?