zoukankan      html  css  js  c++  java
  • Window下使用GMP库

    GMP介绍

    GMP是The GNU MP Bignum Library,是一个开源的数学运算库,它可以用于任意精度的数学运算,包括有符号整数、有理数和浮点数。它本身并没有精度限制,只取决于机器的硬件情况。 更多详情可能访问官方网站 https://gmplib.org/

    环境所需软件

    点击上面两个软件名就能下载对应的安装包,如果下载不了,可以到我的网盘上下载,地址如下: 链接: http://pan.baidu.com/s/1slw4YOP 密码: 9a2h

    ------ 这里是赶时间分割线 ------ 如果你很赶时间,我网盘上也有已经编译好的.h .lib .dll文件,可以直接下载,当然在这里下载以后,下面的内容也可以不用看了,地址如下: 链接: http://pan.baidu.com/s/1bpaCP0z 密码: kaxw

    安装过程

    1.安装MinGW 安装后组件选择"mingw32-base","mingw32-gcc-g++","mingw32-gmp" 安装组件的过程中需要保持网络连接正常。 本文假设MinGW的安装路径为默认的路径 C:MinGW

    2.安装pexports 将下载回来的pexports.exe复制进 C:MinGWin

    3.生成lib文件 到了这一步,GMP就已经在Windows里安装好了,我们只要将gmp.h和libgmp.lib文件载入我们的VS工程就可以使用GMP库了。 gmp.h 位于 C:MinGWinclude 目录下 libgmp.lib 则需要我们手动生成,我们可以根据 C:MinGWinlibgmp-10.dll 来生成相应的lib文件,步骤如下:

    cd C:MinGWin
    pexports.exe libgmp-10.dll > libgmp-10.def
    lib /def:libgmp-10.def
    

    这时目录下就会出现 libgmp.lib 文件了。

    如果提示 lib 命令不存在,请将VS的相关路径写入环境变量,比如我的是 C:Program Files (x86)Microsoft Visual Studio 10.0VCin

    使用示例

    这里我以VS2010做示例,首先我们要将gmp.h和libgmp.lib文件载入工程。 代码如下:

    #include "gmp.h"
    #pragma comment(lib,"libgmp-10.lib")
    
    int main()
    {
    	mpz_t t; //mpz_t 为GMP内置大数类型
    	mpz_init(t); //大数t使用前要进行初始化,以便动态分配空间
    	mpz_ui_pow_ui(t, 2, 100); //GMP所有函数基本都是以mpz打头
    	gmp_printf("2^100=%Zd
    ", t); //输出大数,大数的格式化标志为%Zd
    	mpz_clear(t);
    	scanf_s("%s");
    	return 0;
    }
    

    结语

    写完以后才发现好像也不难,挺简单的,然而我竟然搞了一下午

  • 相关阅读:
    比原空投问答题库题解(一)
    RXD, tree and sequence IN HDU6065
    python爬虫——对爬到的数据进行清洗的一些姿势(5)
    hdu 5934 Bomb
    HDU 3360 National Treasures
    HDU 1845 Jimmy’s Assignment
    HDU 1528 Card Game Cheater
    HDU 1507 Uncle Tom's Inherited Land*
    HDU 1281 棋盘游戏
    WampServer出现You don’t have permission to access/on this server提示
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13312615.html
Copyright © 2011-2022 走看看