问题标签 [gmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4131 浏览

c - GMP 将 mpz 转换为 mpf

我正在使用 GMP,我希望能够快速mpzmpf. 我翻遍了图书馆,找不到太多东西。我能想到的最好的事情是:

此解决方案需要重复与字符串之间的转换。此外,它受 限制SIZE,我看不出有什么方法可以预先确定需要多大SIZE。有没有更好的方法来进行这种转换?

0 投票
2 回答
330 浏览

gmp - GMP关节手术

正如我们所知,GMP 是处理大型整数的最流行工具......我有两个关于 GMP 的问题:

  1. GMP库中的内部计算是如何完成的?假设一个两个字节的整数和另一个三个字节的整数,对这些原始位内部执行的操作是什么!??
  2. GMP 的性能速度比其他通用库高多少!?

提前致谢。对我来说,了解这些对我的项目来说非常重要。

0 投票
1 回答
116 浏览

internals - GMP ..二进制执行

在 GMP 库中......

整数运算的内部执行将如何完成?比如 6=0110,4=0100..and 6+4= 0110+0100.. 在乘法、除法和其他运算的情况下会发生什么!??它如何控制溢出位和其他东西......

0 投票
5 回答
271 浏览

assembly - GMP 汇编代码?

我可以在哪里找到我的程序的汇编代码,用于使用 UBUNTU 和 G++ 编译器为 gmp-5.0.0 im 编写的程序。编译代码的命令是“g++ test.cc -o outp -lgmp”

实际上我想知道在 1 和 0 方面内部发生了什么......内存分配将如何发生以及操作将如何在 RAW 位上执行!

0 投票
1 回答
752 浏览

c - 你如何编写一个 bigint 库/libgmp 是如何工作的?

我知道各种平台上有许多用于 C 的 BigInt 库以及如何使用它们,但我很感兴趣:它们是如何工作的?我将如何建立自己的图书馆(我不打算尝试,没有必要重新发明轮子,但我对它如何发生感兴趣)?谁能指出我可能解释程序/基础知识的教程等?

谢谢,

九指。

0 投票
5 回答
1163 浏览

c++ - 如何将此 C++ 函数从使用 long 转换为其他类型?

我有这个名为“s”的原始 C++ 函数:

我一直在努力将此函数转换为使用 GMP 的 mpz 类型,以便它允许任意长的整数。

这是我的尝试:

整个原始程序可以在这里找到:http: //pastebin.com/mf751592

我究竟做错了什么?我最初似乎遇到了麻烦,因为我无法返回类型 mpz_t。所以相反,我传入了一个指针,指向我希望函数返回的内容。

不过,我仍在为此苦苦挣扎。有人可以指出我正确的方向吗?

此行: for (mpz_t i, mpz_init(i), mpz_set_str(i, "2", 10); mpz_cmp(i,m)< 0; mpz_add_ui(i, i, 1))
给出此错误:23:错误:无法使用此语法初始化数组

0 投票
2 回答
1319 浏览

c - 为什么我不能在 Linux 中使用我的 GMP 库

我正在使用 c 在 linux 中编写一些代码。当试图编译时,我得到了这个响应:

其实我用的gmp的所有功能都找不到了。

看来gmp有问题。

谁能告诉我如何解决它?提前致谢!

0 投票
1 回答
707 浏览

c - 如何使用 C 上的 GMP lib 将 mpz_t 分成两部分?

在c上使用GMP,我有一个十进制形式的大整数“mpz_t n”,我怎样才能把它分成两部分?实际上,这两个部分在二进制中应该具有相同的长度。

例如,也许我可以将 n 转换为 112 位的二进制,然后我想将其切割成 2 个 56 位的部分。

谢谢

0 投票
1 回答
183 浏览

precision - GMP被破坏了吗?做不到!

当我对 GMP 库中的 MPQ 变量调用 get_d() 时,最多只能得到六位数。

C++ 应该为双打提供 8 个字节或约 15 位数字。为什么我只得到六位数?

0 投票
2 回答
898 浏览

c - Diffie-Hellman 中的参数选择

也许在这里问这个问题不太合适......无论如何,我正在尝试使用gmp库来实现DH,但我遇到的问题是:

有一次,当我进行测试以观察输出时,尽管选择了大的素数和私钥值:

  • p 大约有 300 多位十进制数
  • a、b 的长度约为 100 位

最后我得到了一个非常小的共享密钥,十进制可能小于 10^8 ......

这个问题并没有出现很多次,事实上,在所有的观察过程中,也只出现过一次……但是,这也不是那么好。

所以我想知道是否有一些方法可以避免这种情况......非常感谢