问题标签 [biginteger]
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.
java - 如何在不进行模运算的情况下将 Java BigInteger 提升到 BigInteger 的能力?
我正在做一些大整数计算,我需要将 BigInteger 提升到另一个 BigInteger 的幂。.pow() 方法可以满足我的要求,但需要一个 int 值作为参数。.modPow 方法将 BigInteger 作为参数,但我不希望得到与我要计算的值一致的答案。
我的 BigInteger 指数太大而无法表示为 int,有人可以建议一种解决此限制的方法吗?
java - 用Java生成完全素数
我知道函数 BigInteger.probablePrime(int bitLength, Random rnd) 可能输出任何位长度的素数。我想要一个 Java 中的 REAL 素数。是否有任何 FOSS 库可以以可接受的性能做到这一点?提前致谢!
编辑:
我正在查看 1024 和 2048 位素数。
java - java.math.BigInteger pow(exponent) 问题
我对 pow(exponent) 方法做了一些测试。不幸的是,我的数学能力不足以处理以下问题。
我正在使用这段代码:
结果:
- 变量 | 以毫秒为单位的时间
- 2000000 | 11450
- 2500000 | 12471
- 3000000 | 22379
- 3500000 | 32147
- 4000000 | 46270
- 4500000 | 31459
- 5000000 | 49922
看?2,500,000 指数的计算速度几乎与 2,000,000 一样快。4,500,000 的计算速度比 4,000,000 快得多。
这是为什么?
为了给你一些帮助,这里是 BigInteger.pow(exponent) 的原始实现:
parsing - BigInteger.Parse() 对十六进制数给出负数
我已经开始使用 .NET 4 System.Numerics.BigInteger 结构,但遇到了问题。
我正在尝试解析一个包含没有符号(正)的十六进制数字的字符串。我得到一个负数。
例如,我执行以下两个断言:
第一个断言成功,第二个断言失败。我实际上得到 -8 而不是 8 中的BigInteger
.
问题似乎是当我是十六进制以 1 位而不是 0 位(包括 8 和 F 之间的数字)开头时。如果我添加前导 0,则一切正常。
这对我来说是一个不好的用法吗?它是一个错误BigInteger
吗?
.net-4.0 - BigInteger.ToString() 返回超过 50 个十进制数字
我正在使用 .NET 4 System.Numerics.BigInteger 结构,我得到的结果与文档不同。
在BigInteger.ToString() 方法的文档中它说:
ToString() 方法支持 50 个十进制数字的精度。也就是说,如果 BigInteger 值超过 50 位,则输出字符串中只保留 50 位最高有效位;所有其他数字都被零替换。
我有一些代码需要 60 位十进制数字BigInteger
并将其转换为string
. 60 个有效小数位string
没有丢失任何有效数字:
所有的断言都通过了。
文档中引用的部分到底是什么意思?
c++ - 极大的整数乘法和加法
问候,
我需要将存储在文本文件中的两个极长整数值相乘(通过 GMP(准确地说是 MPIR)导出,因此它们可以是任何基数)。现在,我通常只通过 mpz_inp_str() 函数导入这些整数并在 RAM 中执行乘法运算,但是,这些值太长以至于我无法真正加载它们(每个大约 1 GB 数据)。最快的方法是什么?也许有一些外部库已经在做这种事情了?是否有任何易于实现的方法(性能并不是非常重要,因为此操作只会执行一次或两次)?
tl; dr:我需要将值相乘,它们不适合进程内存限制(Windows)。
感谢您的时间。
java - java:在 BigInteger 的情况下 for 循环如何工作
我想将用户的输入作为 Big-Integer 并将其操作到 For 循环中
但它不会工作
有谁能够帮助我。
java - 如何在java中将BigInteger转换为String
我将 a 转换String
为BigInteger
如下:
现在我想要我的弦。我正在使用m.toString()
,但这给了我想要的结果。
为什么?错误在哪里,我该怎么办?
c# - 计算 BigInteger 的平方
我正在使用 .NET 4 的System.Numerics.BigInteger 结构。
我需要计算非常大的数的平方 (x 2 ) -数百万个十进制数字。
如果x
是BigInteger
,时间复杂度是多少:
或者
?
如何使用 .NET 4 BigInteger 以最快的方式将如此大的数字相乘?是否有Schönhage–Strassen 算法的实现?