问题标签 [bignum]

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 投票
1 回答
3958 浏览

c++ - GMP 如何将其整数存储在任意数量的字节上?

2^64 距离我的内存/硬盘驱动器可以处理的“无穷大”还很远……

首先,我想知道 GMP 如何与内存/处理器一起工作,因为它会进行某种阴暗的优化......

我还想知道是否有一种方法可以在任意数量的字节上存储整数(无符号,这更容易)。例如,在 50 个字节上,我的上限为 2^400 -1。要做的事情是与进位很好地配合,以保持数字从一个字节到另一个字节一致,我对此有一些想法,但我真的不确定这是否是最快的方法。我什至不确定我是否正确。

我猜GMP使用这种方式来存储它的数据,但我只是想要一些(甚至很少)解释或一些理论的转发(我没有任何博士学位,所以不要强硬)。

0 投票
1 回答
452 浏览

haskell - Haskell 函数似乎限制了整数长度 - 我认为它使用了 bignums?

我这里有一个简短的 haskell 函数,它应该将“ABCDEF”转换为 0x41,0x42,0x43,0x44,0x45,0x46(它们的 ascii 值),然后将它们相乘使其变为 0x4142,4344,4546 但它似乎限制整数长度-我认为haskell使用了任意bignums?

代码的最后一行工作正常,这让我很困惑

有任何想法吗?非常感谢

输出是:

0 投票
2 回答
1849 浏览

c++ - 如何序列化 GMP mpf 类型?

似乎 GMP 仅提供 mpf(浮点)类型的字符串序列化:

mpf_get_str(),mpf_class::get_str()

mpz(整数)类型有一个额外的原始字节接口:mpz_out_raw()

http://gmplib.org/manual/Function-Index.html

我错过了什么吗?有谁知道另一个可以序列化 GMP 浮点数的库?有谁知道另一个提供健壮序列化的 bignum 库?

编辑:我也很乐意序列化 MPFR 的 mpfr_t,同样,它似乎只提供字符串输出:http ://www.mpfr.org/mpfr-current/mpfr.html#Function-Index

0 投票
6 回答
80273 浏览

haskell - Int 和 Integer 有什么区别?

Int在 Haskell 中, an和 an 有什么区别Integer?答案记录在哪里?

0 投票
2 回答
5575 浏览

iphone - iPhone OS (iOS 4) 上的 Bignum、线性代数和数字信号处理

我想我在 iPhone OS (iOS 4) 中找到了一些亮点。

我发现Accelerate Framework提供了 128 位、256 位、512 位和 1024 位整数数据类型。还有 Apple 的基本线性代数子程序 (BLAS) 的实现、Apple 的 LAPACK(线性代数包)和数字信号处理 (DSP) 例程的实现。

我很兴奋,因为据我所知,BLAS 和 LAPACK 是最好的(也是最著名的)库。(如果您从未听说过它们的名字,只需谷歌它们,您就会明白。)它们可以让您求解联立线性方程(即向量/矩阵表示法中的 A x = b),进行快速矩阵乘法等等。

我很确定这些库在基于 PowerPC 和 Intel 的 Mac 上都可用。但是,当我在 Xcode 中查找“iOS4 中的新增功能”文档时,它说数据类型“不受任何架构支持”。当我比较Mac OS XvecLib 参考和 iOS的 vecLlib 参考时,我还发现 iOS 版本中缺少功能。

我的问题是:
是否有人使用这些库编译了任何程序(bignum 是我的主要兴趣领域)并在真正的 iPhone 设备上成功运行它们?(可以证明他们在库上的实际经验的回答者将更加感激。)

以下是参考库的链接:
加速框架(iOS 参考库)
vecLib 参考(Mac OS X 参考库)
vecLib 参考(iOS 参考库)

以下是 BLAS 和 LAPACK 的官方 FAQ:
BLAS FAQ
LAPACK FAQ

0 投票
8 回答
1094 浏览

algorithm - 32 位操作系统如何执行 2^56 模 7?

例如,如果它是密码学中的 32 位操作系统,系统如何执行 2^56 模 7?

以及它是如何存储在内存中的?

0 投票
2 回答
528 浏览

javascript - javascript 中的大整数(更多的 2^53-1)

在 javascript 中处理大整数的一般原则是什么?就像在 bigint 的库中一样?我自己怎么做?

0 投票
3 回答
4748 浏览

delphi - Pascal (Delphi) 中的大数

我可以使用 Delphi 中的内置方法处理大数(超过 10^400)吗?

0 投票
1 回答
136 浏览

c - 对文件进行数学运算

我正在用 C 语言编写一个用于文件压缩的​​程序。我尝试使用的方法涉及对文件进行数学运算,就好像它是一个长数字一样。任何人都可以推荐一个不会尝试在 ram 中完成所有这些操作的 bignum 库,而是让我使用文件指针进行数学运算。任何帮助将不胜感激,在此先感谢。

0 投票
0 回答
1449 浏览

ruby - 在 Bignum 的 Ruby 中计算 SHA1 摘要

我在 C 中有这段代码,它使用 openssl 库来计算大数的 SHA1 摘要。如何在 Ruby 中翻译这段代码?

编译:gcc sha1.c -lcrypto

谢谢。