问题标签 [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 回答
3010 浏览

php - 如何在 PHP 中比较大数?

我混淆了我如何通过 PHPUnit 获取相当多的数字。我写了斐波那契数。但如果是 100,我在下面写了。

我希望这个返回 TRUE。它失败了。

我明白“永远不要比较平等”。那么如何断言呢?最后,我与 to_string 进行了比较。如何比较 PHP 中的大数?

我觉得它是难闻的气味。但我不知道更好的方法。请告诉我你如何断言它?

0 投票
1 回答
739 浏览

perl - 在 Perl 模块中检查无穷大的最佳方法是什么?

在我的一个模块中,我必须处理无穷大的概念。迄今为止,我一直使用9**9**9正无穷大,这似乎运作良好,速度很快,并且似乎是 perl 的内部使用的无穷大。

但是,如果我的模块的用户决定使用其中一个大数模块(如use bigint;),然后他们使用inforMath::BigInt->binf()来表示无穷大,事情就会变得有点冒险。

在某些地方它似乎工作正常,但在其他地方,应该为真或应该为假的比较最终会以错误的方式结束,导致难以追踪错误。

我想用一些适用于普通 perl 数字和任意精度数字的东西来支持各种其他的无穷大概念。

但我也担心性能,因为我与无穷大的一些比较发生在紧密的内部循环中。显然inffromMath::BigInt会比9**9**9(由于在每次访问时调用绑定或重载方法)要慢。过去有没有人处理过这个问题?如果是这样,您的解决方案是什么?

我考虑过使用自己的无穷大常量,定义如下:

然后向我的模块添加警告,即应首先加载任何 bignum 模块。这听起来合理吗?那里有可靠的实现if_any_bignum...,还是我应该自己推出?

0 投票
4 回答
1865 浏览

c - 具有大量数字的基本数学运算

巨大的数字,我的意思是如果你拿了一个千兆字节(而不是 4/8 字节等)并试图将它加/减/乘/除以其他任意大(或小)的数字。

加法和减法相当容易(一次一个 k/m/字节):

对于每个字节,因此我可以在从磁盘读取数字时加/减,而不会冒用完 RAM 的风险。

对于乘法/除法,只需在循环中执行上述操作。

但是如何取一个巨大数字的 n 次根呢?

0 投票
3 回答
442 浏览

javascript - 是否有任何 JavaScript 解释器可以处理非常大的数字?

可能的重复:
是否有用于 JavaScript 的 bignum 库?
JavaScript 中 Number 方法的奇怪语法

我刚刚写了一些代码来找出一个Project Euler问题。

我一直在...

Uncaught SyntaxError: Unexpected token ILLEGAL

我在代码中看不到语法错误...

我使用的号码是 1000 位长。我在 Chrome 的控制台中运行

并得到false. 真可惜。

是否有可以运行我的代码的解释器?

如果需要,这是代码...

问题是找到5个连续数字乘积的最大数字。我不会逐字逐句输入,因为我认为 Project Euler 对在线发布的答案不屑一顾(我什至不确定我的答案是否可行)。

我转向 JavaScript,因为我不确定如何设置 anint来处理 C 中的数字。

0 投票
1 回答
136 浏览

c - OpenSSL BN 的二次扩展域(或复数)?

OpenSSL 是否支持使用 BN API 的二次扩展字段中的运算(或者,具有复数的运算)?

如果没有,是否还有其他开源库可以做到?

0 投票
2 回答
710 浏览

c - Bignum 库,慢速生成器

我正在开发一个 bignum 库:http://pastebin.com/nFgF3zjW 我实现了 Miller-Rabin 算法 ( isprime()),但与 OpenSSL 的 BN_is_prime_fasttest 相比,它非常慢。

我尝试了分析,执行最多的功能是bn_shr_atomicbn_cmp. 知道如何使这更快吗?

0 投票
3 回答
63199 浏览

javascript - 如何处理javascript中的大数字

我正在寻找一个处理真正(长,大,巨大,风暴)数字的数学解决方案。我还没有找到任何东西,但我不想认为这个问题目前还没有解决。我正在寻找一个简单的数字解决方案,例如 Microsoft Excel Precision(30 位小数)或 BigInteger (Java) 解决方案。当然是在 Javascript 中。

0 投票
1 回答
1483 浏览

javascript - 像 Microsoft Excel 那样在 Javascript 中实现 RoundUP 的功能

几天前,我开始了一个项目,我需要在其中进行一些度量计算;具体来说:统计计算。好吧,这不是问题,问题在于四舍五入的浮点数(带小数的数字),以及 javascript 处理它的方式。我在互联网上找到了一些舍入 javascript 数字的方法,但它们都不是 ms excel 所做的(ROUND.MAX 函数)的绝佳替代品。所以我必须自己重新创建那个函数行为。所以这是代码:

好吧,这段代码就像我使用 javascript 数字一样工作。但令人惊讶的是 javascript 会截断长浮点数。接下来是做同样的事情,但数字很长。昨天有人给了我一个我觉得非常有用的链接,但是。我想知道这个函数(EXCEL 中的 ROUND.MAX)是否已经为这种大浮点数实现了。

这是一个例子:

0 投票
2 回答
921 浏览

c++ - 使用 GNUMP 如何找到 base10 的对数

我在 C++ 中遇到问题。我需要一个比标准 C++ 双精度更精确的双精度。(C++ long double 甚至还不够)所以.. 我发现 GNUMP 确实让我满意.. 但是..

我如何找到给定数字的以 10 为底的对数..

0 投票
2 回答
13496 浏览

c - GCC __attribute__((mode(XX)) 实际上做了什么?

这源于今天早些时候关于 bignum 库和 gcc 对 C 语言的特定黑客攻击的问题。具体来说,使用了这两个声明:

在 32 位系统和

在 64 位系统上。

我假设这是对 C 语言的扩展,因此无法实现它在当前(C99)标准中实现的任何目标。

所以我的问题很简单:这个假设是否正确?这些语句对底层内存有什么作用?我认为结果是我有2*sizeof(uint32_t)32dword位系统和2*sizeof(uint64_t)64 位系统,对吗?