gmp 相关问题

GNU多精度库(GMP)是一个成熟的免费库,用于任意精度算术,支持大有符号整数,有理数和浮点数。基本接口适用于C,但包含Ada,C ++,C#,OCaml,Perl,PHP和Python等其他语言的包装器。它在GNU LGPL下发布,用于加密应用程序和Mathematica和Maple等计算机代数系统。

由于整数范围不同,JS 和 PHP 的结果不同

函数 hs(e, n) { 返回 e * n % e; } 警报(HS(1752865668、1716717484170)); //结果:1752622684 <script> function hs(e, n) { return e * n % e; } alert(hs(1752865668, 1716717484170)); //result: 1752622684 </script> <?php function hs($e, $n) { return $e * $n % $e; } echo hs(1752865668, 1716717484170); //result: 386969652 ?> 两个结果不同,因为它们的 53 位和 32 位整数范围不同。在这种情况下,如何才能得到与 JS 在 PHP 中计算的结果相同的结果呢? (不使用 GMP:GNU 多精度)(使用 PHP 8+) 简而言之:我需要与 JS 完全显示相同结果的 PHP 代码片段。 谢谢! function hs($e, $n) { return bcmod(sprintf('%f', $e * $n), $e); } 这段代码给了我相同的结果,它需要 BCMath 扩展。 两个结果都不正确,因为它们在 64 位环境中也超出了两种语言的最大整数: $large_number = 9223372036854775807; var_dump($large_number); //int(9223372036854775807) $large_number = 9223372036854775808; var_dump($large_number); //float(9.2233720368548E+18) console.log(Number.MAX_SAFE_INTEGER); //9007199254740991

回答 2 投票 0

如何解决'std::__cxx11::basic_ostringstream<char, std::char_traits<char>,std::allocator<char>>::basic_ostringstream()@GLIBCXX_3.4.26'错误?

我想在 Code::Blocks C++ 项目中使用 GiNaC 库,但在项目构建过程中遇到以下错误: ../../ginac/lib/libginac.so:对 `std::__cxx11::

回答 2 投票 0

C++ 的 GMP:`auto` 带来更多麻烦

这里有更多关于 GMP C++ 类接口的奇怪行为,与 C++ auto 关键字相关。我之前的问题也是关于这个关键字的,它的删除解决了我的问题。然而它是

回答 1 投票 0

从 Python 调用 GMP C 函数时出现分段错误和内存泄漏

今天工作比较安静,所以团队被指示做一些“自我开发”。我决定从 Python 调用 C 函数来享受一些乐趣。我已经使用 Rust 度过了一段愉快的时光...

回答 1 投票 0

C++ 的 GMP 库:将 `mpz_class` 转换为 `unsigned long`

我第一次接触GMP大整数...下面的简单测试无法编译,因为没有找到get_ui成员函数。 GMP手册中提到了函数get_ui。 #包括<

回答 1 投票 0

使用 mpz 时在 tcache 2 中检测到双重释放是什么意思?

我使用这个程序来存储 mpz 值,但是当我添加 0 ( 400000000000000000000000000000000000000 而不是 40000000000000000000000000000000000000 -> 38 0 而不是 37)我得到 自由():双

回答 1 投票 0

在 Mac OS 和 PyCharm 上安装 GMP 库

我正在尝试运行我的 Cython 项目。其中一个标头是 gmpxx.h。 即使我已经使用brew install gmp安装了gmp库。我无法使用 python3 setup.py 运行我的 cython 文件

回答 1 投票 0

Charm-crypto lib中GT上加减元素时出现系统错误

代码如下: 从 charm.toolbox.pairinggroup 导入 PairingGroup、ZR、G1、G2、GT、配对 groupObj = PairingGroup('MNT224') gt = groupObj.random(GT) g2 = groupObj.random(GT) 结果 = gt -g2 呃...

回答 1 投票 0

“gmpxx.h:在 Visual Studio Code 中没有这样的文件或目录 | gcc”

我正在尝试包含 gmpxx.h 以在我的代码中使用。 编译后只会抛出此错误: gmpxx.h: 没有这样的文件或目录 |海湾合作委员会 我使用 MSYS 安装了 GMP,从它的外观来看,它确实有效...

回答 1 投票 0

“gmpxx.h:没有这样的文件或目录 | gcc”在 Visual Studio 代码中,c++

所以我尝试以某种方式包含 gmpxx.h 以在我的代码中使用。 唯一的问题是它在编译后抛出错误:“gmpxx.h:没有这样的文件或目录| gcc”。 我使用 ms 安装了 gmp...

回答 1 投票 0

如何在 Windows 上为 Dev-C++ 安装 C++ 库

我下载了一个名为 GMP 的库(它用于进行任意大数字的计算),但我不知道如何实际安装和使用它。我找到的所有说明都告诉我要...

回答 1 投票 0

编译后的 libgmp 在其自己的前缀路径中作为依赖项

我已经成功地为 MacOS、arm64 和 x86_64 编译了一个 GMP 胖库。但是,如果我正确获得“otool -L”的输出,则该库有其自己的安装路径,列为其

回答 1 投票 0

带 gmp 的二进制计算器

我正在使用 C 中的 GMP 库创建一个具有无限精度的二进制计算器。在评估后缀表达式期间,我遇到了错误“赋值给expressio...

回答 1 投票 0

无法链接 gmp:找不到 -lgmp 的库

我尝试通过运行在 macOS BigSur(M1 芯片)上安装 fastecdsa (venv) $ pip3 安装 fastecdsa 即使我之前安装了 gmp: $ 酿造安装 gmp 它找不到库,不管怎样...

回答 3 投票 0

缺少 GMP PHP 扩展

我想测试运行一个完全开发的网站。当我位于名为“Viserlab 的 Easy Installer”的位置“localhost/install/”时,显示需要 GMP PHP 扩展。 ...

回答 2 投票 0

内核模块中的 GMP

我对模块编码很陌生,我需要在模块中运行一些使用 GMP 库的计算。 那么第一个问题:通常可以在内核中运行 GMP 吗? 为了测试,我写了......

回答 2 投票 0

在 OSX 上安装 Perl Math::GMP

我正在尝试在 OS X El Capitan 上安装 Perl 软件包 Math::GMP。 我有一台计算机可以正常工作 - 但第二台计算机遇到以下问题: Perl

回答 2 投票 0

如何在CMake中使用find_package? (例如:GMP 库)

我正在尝试使用 find_package 将库包含在 CMake 中。 这个问题讨论如何告诉 CMake 链接到 GMP 库(外部)。我正在尝试按照那里的答案的步骤进行操作...

回答 2 投票 0

任意精度多项式求解

我们一直在使用GSL来求解多项式。然而,我们希望使用任意精度来求解多项式。我查看了 GMP 和 Boost 多精度库,但是,我找不到任何路由...

回答 3 投票 0

使用 GMP.h 头文件时的返回类型

当我使用 gmp.h 头文件时。我需要一个函数,它接受 mpz_t 类型的输入并返回 mpz_t 类型。 我是使用 gmp.h 的初学者 所以,这是我所接触的代码的快照...... ...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.