问题标签 [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.
php - 如何在 PHP 中比较大数?
我混淆了我如何通过 PHPUnit 获取相当多的数字。我写了斐波那契数。但如果是 100,我在下面写了。
我希望这个返回 TRUE。它失败了。
我明白“永远不要比较平等”。那么如何断言呢?最后,我与 to_string 进行了比较。如何比较 PHP 中的大数?
我觉得它是难闻的气味。但我不知道更好的方法。请告诉我你如何断言它?
perl - 在 Perl 模块中检查无穷大的最佳方法是什么?
在我的一个模块中,我必须处理无穷大的概念。迄今为止,我一直使用9**9**9
正无穷大,这似乎运作良好,速度很快,并且似乎是 perl 的内部使用的无穷大。
但是,如果我的模块的用户决定使用其中一个大数模块(如use bigint;
),然后他们使用inf
orMath::BigInt->binf()
来表示无穷大,事情就会变得有点冒险。
在某些地方它似乎工作正常,但在其他地方,应该为真或应该为假的比较最终会以错误的方式结束,导致难以追踪错误。
我想用一些适用于普通 perl 数字和任意精度数字的东西来支持各种其他的无穷大概念。
但我也担心性能,因为我与无穷大的一些比较发生在紧密的内部循环中。显然inf
fromMath::BigInt
会比9**9**9
(由于在每次访问时调用绑定或重载方法)要慢。过去有没有人处理过这个问题?如果是这样,您的解决方案是什么?
我考虑过使用自己的无穷大常量,定义如下:
然后向我的模块添加警告,即应首先加载任何 bignum 模块。这听起来合理吗?那里有可靠的实现if_any_bignum...
,还是我应该自己推出?
c - 具有大量数字的基本数学运算
巨大的数字,我的意思是如果你拿了一个千兆字节(而不是 4/8 字节等)并试图将它加/减/乘/除以其他任意大(或小)的数字。
加法和减法相当容易(一次一个 k/m/字节):
对于每个字节,因此我可以在从磁盘读取数字时加/减,而不会冒用完 RAM 的风险。
对于乘法/除法,只需在循环中执行上述操作。
但是如何取一个巨大数字的 n 次根呢?
javascript - 是否有任何 JavaScript 解释器可以处理非常大的数字?
可能的重复:
是否有用于 JavaScript 的 bignum 库?
JavaScript 中 Number 方法的奇怪语法
我刚刚写了一些代码来找出一个Project Euler问题。
我一直在...
Uncaught SyntaxError: Unexpected token ILLEGAL
我在代码中看不到语法错误...
我使用的号码是 1000 位长。我在 Chrome 的控制台中运行
并得到false
. 真可惜。
是否有可以运行我的代码的解释器?
如果需要,这是代码...
问题是找到5个连续数字乘积的最大数字。我不会逐字逐句输入,因为我认为 Project Euler 对在线发布的答案不屑一顾(我什至不确定我的答案是否可行)。
我转向 JavaScript,因为我不确定如何设置 anint
来处理 C 中的数字。
c - OpenSSL BN 的二次扩展域(或复数)?
OpenSSL 是否支持使用 BN API 的二次扩展字段中的运算(或者,具有复数的运算)?
如果没有,是否还有其他开源库可以做到?
c - Bignum 库,慢速生成器
我正在开发一个 bignum 库:http://pastebin.com/nFgF3zjW
我实现了 Miller-Rabin 算法 ( isprime()
),但与 OpenSSL 的 BN_is_prime_fasttest 相比,它非常慢。
我尝试了分析,执行最多的功能是bn_shr_atomic
和bn_cmp
. 知道如何使这更快吗?
javascript - 如何处理javascript中的大数字
我正在寻找一个处理真正(长,大,巨大,风暴)数字的数学解决方案。我还没有找到任何东西,但我不想认为这个问题目前还没有解决。我正在寻找一个简单的数字解决方案,例如 Microsoft Excel Precision(30 位小数)或 BigInteger (Java) 解决方案。当然是在 Javascript 中。
javascript - 像 Microsoft Excel 那样在 Javascript 中实现 RoundUP 的功能
几天前,我开始了一个项目,我需要在其中进行一些度量计算;具体来说:统计计算。好吧,这不是问题,问题在于四舍五入的浮点数(带小数的数字),以及 javascript 处理它的方式。我在互联网上找到了一些舍入 javascript 数字的方法,但它们都不是 ms excel 所做的(ROUND.MAX 函数)的绝佳替代品。所以我必须自己重新创建那个函数行为。所以这是代码:
好吧,这段代码就像我使用 javascript 数字一样工作。但令人惊讶的是 javascript 会截断长浮点数。接下来是做同样的事情,但数字很长。昨天有人给了我一个我觉得非常有用的链接,但是。我想知道这个函数(EXCEL 中的 ROUND.MAX)是否已经为这种大浮点数实现了。
这是一个例子:
c++ - 使用 GNUMP 如何找到 base10 的对数
我在 C++ 中遇到问题。我需要一个比标准 C++ 双精度更精确的双精度。(C++ long double 甚至还不够)所以.. 我发现 GNUMP 确实让我满意.. 但是..
我如何找到给定数字的以 10 为底的对数..
c - GCC __attribute__((mode(XX)) 实际上做了什么?
这源于今天早些时候关于 bignum 库和 gcc 对 C 语言的特定黑客攻击的问题。具体来说,使用了这两个声明:
在 32 位系统和
在 64 位系统上。
我假设这是对 C 语言的扩展,因此无法实现它在当前(C99)标准中实现的任何目标。
所以我的问题很简单:这个假设是否正确?这些语句对底层内存有什么作用?我认为结果是我有2*sizeof(uint32_t)
32dword
位系统和2*sizeof(uint64_t)
64 位系统,对吗?