问题标签 [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 投票
1 回答
73 浏览

integer - Handling arbitrarily large integers in dbase language

Is there a simple package available that permits programming in xbase ( i.e. dbase or Foxpro syntax) and has a datatype to store and perform simple arithmetical operations on arbitrarily large integers ( say 100,000 decimal digits) ?

0 投票
4 回答
30985 浏览

java - 从 int 值创建 BigInteger 实例的最有效方法是什么?

我有一个带有 BigInteger 参数的方法(在第 3 方库中):

我不需要“所有的力量”,我只需要使用整数。那么,我怎样才能将整数传递给这个方法呢?我的解决方案是从 int 值获取字符串值,然后从字符串创建 BigInteger:

有没有其他(推荐的)方法可以做到这一点?

0 投票
7 回答
27088 浏览

python - Django BigInteger自动增量字段作为主键?

我目前正在构建一个涉及大量集体智慧的项目。每个访问该网站的用户都会创建一个独特的个人资料,然后他们的数据将用于计算他们自己和其他用户的最佳匹配。

默认情况下,Django 创建一个 INT(11)id字段来处理模型主键。我担心这会很快溢出(即~2.4b 设备在没有事先设置cookie 的情况下访问该页面)。如何将其更改为在 MySQL 中表示为 BIGINT 并在 Django 本身中表示为 long()?

我发现我可以执行以下操作(http://docs.djangoproject.com/en/dev/ref/models/fields/#bigintegerfield):

但是有没有办法让它像通常的id字段一样自动递增?另外,我可以把它设为无符号以便我有更多的空间来填写吗?

谢谢!

0 投票
7 回答
7093 浏览

java - 检查 BigInteger 是否不是完美的正方形

我有一个 BigInteger 值,假设它是 282,并且在变量 x 内。我现在想写一个 while 循环来说明:

我将如何使用 BigInteger 做这样的事情?

编辑:这样做的目的是让我可以编写这个方法。正如文章所述,必须检查 b2 是否不是正方形。

0 投票
1 回答
296 浏览

silverlight - Silverlight 中的 BigInteger

我如何才能获得用于 Silverlight 的“BigInteger”类?

0 投票
4 回答
5581 浏览

java - 在 Java 中使用 BigIntegers 进行位移

我正在使用 BigIntegers 在 Java 中实现 DES 加密。

通过执行 BigInteger.leftShift(int n) 方法,我使用 Java BigIntegers 左移二进制键。N(Kn)的键取决于Kn-1移位的结果。我遇到的问题是,我在生成每个密钥后打印出结果,并且移位不是预期的输出。密钥分为 2 个 Cn 和 Dn(分别为左和右)。

我特别尝试这样做:“要进行左移,请将每个位向左移动一个位置,但第一位除外,它循环到块的末尾。”

根据班次,它似乎在最后加上 O。不知道如何去纠正这个。

结果:

c0: 11110101010100110011000011110

d0: 11110001111001100110101010100

c1: 111101010101001100110000111100

d1: 111100011110011001101010101000

c2: 11110101010100110011000011110000

d2: 11110001111001100110101010100000

c3: 1111010101010011001100001111000000

d3: 1111000111100110011010101010000000

c4: 111101010101001100110000111100000000

d4: 111100011110011001101010101000000000

c5: 11110101010100110011000011110000000000

d5: 11110001111001100110101010100000000000

c6: 1111010101010011001100001111000000000000

d6: 1111000111100110011010101010000000000000

c7: 111101010101001100110000111100000000000000

d7: 111100011110011001101010101000000000000000

c8: 1111010101010011001100001111000000000000000

d8: 1111000111100110011010101010000000000000000

c9: 111101010101001100110000111100000000000000000

d9: 111100011110011001101010101000000000000000000

c10: 11110101010100110011000011110000000000000000000

d10: 11110001111001100110101010100000000000000000000

c11: 1111010101010011001100001111000000000000000000000

d11: 11110001111001100110101010100000000000000000000000

c12: 111101010101001100110000111100000000000000000000000

d12: 111100011110011001101010101000000000000000000000000

c13: 11110101010100110011000011110000000000000000000000000

d13: 11110001111001100110101010100000000000000000000000000

c14: 1111010101010011001100001111000000000000000000000000000

d14: 1111000111100110011010101010000000000000000000000000000

c15: 11110101010100110011000011110000000000000000000000000000

d15: 11110001111001100110101010100000000000000000000000000000

0 投票
2 回答
238 浏览

c# - 将 BigInteger 映射到圆

我有一个使用 160 位数字的 C# 系统,存储在 BigInteger 中。我想将这些东西显示在一个圆圈上,这意味着将 0->2^160 范围映射到 0->2Pi 范围。我该怎么做?

立即想到的方法是

但是,这很复杂,因为除法会将结果截断为整数。

0 投票
3 回答
3041 浏览

java - BigInteger 还是不是 BigInteger?

在 Java 中,大多数原始类型都是有符号的(一位用于表示 +/-),因此当我超出类型的限制时,我会得到意想不到的结果,比如负数。

有没有比使用 BigInteger 更好的解决方案,因为 BigInteger 存在性能问题,并且您需要使用类方法进行基本算术而不是语言运算符(破坏可读性)?

0 投票
1 回答
1270 浏览

java - Why does the BigFraction class in the Apache-Commons-Math library return incorrect division results?

In the spirit of using existing, tested and stable libraries of code, I started using the Apache-Commons-Math library and its BigFraction class to perform some rational calculations for an Android app I'm writing called RationalCalc.

It works great for every task that I have thrown at it, except for one nagging problem. When dividing certain BigFraction values, I am getting incorrect results.

If I create a BigFraction with the inverse of the divisor and multiply instead, I get the same incorrect answer but perhaps that is what the library is doing internally anyway.

Does anyone know what I am doing wrong?

The division works correctly with a BigFraction of 2.5 but not 2.51, 2.49, etc...

[UPDATE]

This was indeed a bug in the apache-commons-math 2.0 libraries. The bug is fixed in v.2.1.

It is now listed in the Fixed Issues section of the bug tracker:

When multiplying two BigFraction objects with numerators larger than will fit in an java-primitive int the result of BigFraction.ZERO is incorrectly returned..

Thanks to @BartK for attempting to reproduce the issue and setting me on the right track.

[/UPDATE]

0 投票
4 回答
1946 浏览

java - 为什么我的 ElGamal 实现不适用于长文本字符串?

我正在使用 El Gamal 密码系统,我的目标是能够加密和破译长文本序列。

El Gamal 要求明文是整数。我已经使用 Strings 的 .getBytes() 方法将我的字符串变成了 byte[],然后从 byte[] 中创建了一个 BigInteger。加密/解密后,我使用 BigIntegers 的 .toByteArray() 方法将 BigInteger 转换为 byte[],然后从 byte[] 创建一个新的 String 对象。

我使用的是 1035 位密钥,当我使用最多 129 个字符的字符串进行加密/解密时,这非常有效。使用 130 个或更多字符时,我的解密方法产生的输出是乱码。

有人可以建议如何解决这个问题吗?