问题标签 [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.

0 投票
3 回答
7428 浏览

java - 如何在不进行模运算的情况下将 Java BigInteger 提升到 BigInteger 的能力?

我正在做一些大整数计算,我需要将 BigInteger 提升到另一个 BigInteger 的幂。.pow() 方法可以满足我的要求,但需要一个 int 值作为参数。.modPow 方法将 BigInteger 作为参数,但我不希望得到与我要计算的值一致的答案。

我的 BigInteger 指数太大而无法表示为 int,有人可以建议一种解决此限制的方法吗?

0 投票
5 回答
16860 浏览

java - 用Java生成完全素数

我知道函数 BigInteger.probablePrime(int bitLength, Random rnd) 可能输出任何位长度的素数。我想要一个 Java 中的 REAL 素数。是否有任何 FOSS 库可以以可接受的性能做到这一点?提前致谢!

编辑:

我正在查看 1024 和 2048 位素数。

0 投票
3 回答
3443 浏览

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) 的原始实现:

0 投票
1 回答
9803 浏览

c# - C# 随机 BigInt 生成器

我即将实现DSA算法,但是有一个问题:

选择“p”,一个具有 L 位的素数,其中 512 <= L <= 1024,L 是 64 的倍数

如何实现该数字的随机生成器?Int64“只有”63 位长度。

0 投票
1 回答
2408 浏览

parsing - BigInteger.Parse() 对十六进制数给出负数

我已经开始使用 .NET 4 System.Numerics.BigInteger 结构,但遇到了问题。

我正在尝试解析一个包含没有符号(正)的十六进制数字的字符串。我得到一个负数。

例如,我执行以下两个断言:

第一个断言成功,第二个断言失败。我实际上得到 -8 而不是 8 中的BigInteger.

问题似乎是当我是十六进制以 1 位而不是 0 位(包括 8 和 F 之间的数字)开头时。如果我添加前导 0,则一切正常。

这对我来说是一个不好的用法吗?它是一个错误BigInteger吗?

0 投票
1 回答
347 浏览

.net-4.0 - BigInteger.ToString() 返回超过 50 个十进制数字

我正在使用 .NET 4 System.Numerics.BigInteger 结构,我得到的结果与文档不同。

BigInteger.ToString() 方法的文档中它说:

ToString() 方法支持 50 个十进制数字的精度。也就是说,如果 BigInteger 值超过 50 位,则输出字符串中只保留 50 位最高有效位;所有其他数字都被零替换。

我有一些代码需要 60 位十进制数字BigInteger并将其转换为string. 60 个有效小数位string没有丢失任何有效数字:

所有的断言都通过了。

文档中引用的部分到底是什么意思?

0 投票
1 回答
2214 浏览

c++ - 极大的整数乘法和加法

问候,

我需要将存储在文本文件中的两个极长整数值相乘(通过 GMP(准确地说是 MPIR)导出,因此它们可以是任何基数)。现在,我通常只通过 mpz_inp_str() 函数导入这些整数并在 RAM 中执行乘法运算,但是,这些值太长以至于我无法真正加载它们(每个大约 1 GB 数据)。最快的方法是什么?也许有一些外部库已经在做这种事情了?是否有任何易于实现的方法(性能并不是非常重要,因为此操作只会执行一次或两次)?

tl; dr:我需要将值相乘,它们不适合进程内存限制(Windows)。

感谢您的时间。

0 投票
5 回答
42672 浏览

java - java:在 BigInteger 的情况下 for 循环如何工作

我想将用户的输入作为 Big-Integer 并将其操作到 For 循环中

但它不会工作

有谁能够帮助我。

0 投票
9 回答
106936 浏览

java - 如何在java中将BigInteger转换为String

我将 a 转换StringBigInteger如下:

现在我想要我的弦。我正在使用m.toString(),但这给了我想要的结果。

为什么?错误在哪里,我该怎么办?

0 投票
5 回答
2837 浏览

c# - 计算 BigInteger 的平方

我正在使用 .NET 4 的System.Numerics.BigInteger 结构

我需要计算非常大的数的平方 (x 2 ) -数百万个十进制数字

如果xBigInteger,时间复杂度是多少:

或者

?

如何使用 .NET 4 BigInteger 以最快的方式将如此大的数字相乘?是否有Schönhage–Strassen 算法的实现?