C++ GMP库实现任意位数的Montgomery Modular Multiplication

本文介绍了如何在Windows下配置和使用GMP库进行大数运算,特别是针对C++实现Montgomery模乘的问题。通过GMP库提供的C++接口,简化了大数操作,并提供了基本的四则运算示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

嗯刚刚终于搞定了大数运算真是让我异常感动于是我又选择了来记录一下这次历程。

本来是想用C++实现一个MMM来测试verilog写出来的对不对的,刚开始觉得很容易啊不就把计算过程一写就好了,然而写到32位的时候求n'的时候需要用到r * r-1就发现溢出了……然后就不得不寻求大数运算的方法。


然而由于我太懒了不想自己动手写big integer,自己这方面的知识又很匮乏不知道有没有什么现成的工具,然后就搜了一下发现了GNU的GMP库然后就准备试一下了。


然而感觉网上很少配置GMP库的相关教程?或者也可能是我的打开方式不对,总之谷歌和度娘都搜不到太多有用的,只搜到了唯一一篇windows下配置GMP库的博客,还好良心博主的方法肥肠好用,终于不像之前装软件那样痛苦不堪。以下也就再写一下GMP库的安装方法,和GMP的C++ interface的使用(就用我的MMM代码啦)吧。


-------------------------------------------------------------------------------------以上是废话以下是正文的分割线------------------------------------------------------------------------------------------------


一、GMP库在Windows下的配置

参考文章:http://blog.youkuaiyun.com/u012629110/article/details/51220727

Emmm这篇文章里面已经讲得非常详细啦我就懒得再写一遍了(明明刚刚还想重新写的然而太懒了orz),配置过程中没出现什么大问题,就是本来昨天下午

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值