您如何使用任何 Boost 多精度库类型找到两个非常大的数的模逆? (cpp_int、gmp_int 等)

Posted

技术标签:

【中文标题】您如何使用任何 Boost 多精度库类型找到两个非常大的数的模逆? (cpp_int、gmp_int 等)【英文标题】:How do you find the Modular Inverse of two very big numbers using any of the Boost Multiprecision Library types? (cpp_int, gmp_int etc) 【发布时间】:2018-12-16 09:31:29 【问题描述】:

我需要找到两个数字的模乘逆,其数据类型是 Boost 的多精度库(gmp_int、cpp_int 等)提供的任何数据类型。是否有内置功能可以做到这一点?如果没有,您能解释一下如何进行吗?

【问题讨论】:

【参考方案1】:

就在几周前,我们还添加了模乘逆来进行提升。它们还没有在任何 Boost 版本中(但应该在 1.70 中可用)。要使用它们,您需要克隆

$ git clone https://github.com/boostorg/integer

到你的 Boost 树中,或者克隆所有的 boost 并将你的包含路径指向它:

$ git clone --recursive https://github.com/boostorg/boost
$ cd boost/libs/integer
$ git checkout develop

源代码是here,文档是here。

【讨论】:

以上是关于您如何使用任何 Boost 多精度库类型找到两个非常大的数的模逆? (cpp_int、gmp_int 等)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 boost 生成不同位的随机多精度整数?

如何以二进制形式显示 C++ Boost Library 多精度大整数?

使用 boost 库编写多线程程序时出错

以微秒精度获取时间点

使用Boost Graph库查找连接的组件,顶点和边缘类型为boost :: listS

Boost:仅安装标头