标签: biginteger

`xrange(2**100)` - > OverflowError:long int太大而无法转换为int

xrange 函数不适用于大整数:

>>> N = 10**100
>>> xrange(N)
Traceback (most recent call last):
...
OverflowError: long int too large to convert to int
>>> xrange(N, N+10)
Traceback (most recent call last):
...
OverflowError: long int too large to convert to int
Run Code Online (Sandbox Code Playgroud)

Python 3.x:

>>> N = 10**100
>>> r = range(N)
>>> r = range(N, N+10)
>>> len(r)
10
Run Code Online (Sandbox Code Playgroud)

range()Python 2.x 有py3k内置函数的后端吗?

编辑

我正在寻找一个完整的"懒惰"实现range(),而不只是部分实现它的一些功能.

python range biginteger xrange python-3.x

16
推荐指数
3
解决办法
1万
查看次数

是否有任意精度算术的通用实现策略,无论特定语言如何都是有效的?

我正在考虑实现任意精度算术的不同方法(有时称为Bignum,Integer或BigInt).

似乎常见的习惯是使用数组来存储实际值,并在空间需求增长或缩小时根据需要重新分配它.

更准确地说,似乎数组元素的位大小通常是通常支持的第二大尺寸(使溢出计算可能更容易实现?),例如语言/平台支持128位大小的数字 - > 64位数字的数组+ 128位变量来处理溢出.

有没有根本不同的方法来实现任意精度算术,或者上面是"尝试和真实"的方法来实现它没有巨大的性能损失?

我的问题是关于底层数据结构,而不是操作算法.我知道Karatsuba,Toom-Cook等.

language-agnostic algorithm math biginteger

16
推荐指数
1
解决办法
1472
查看次数

总结一下BigIntegers的列表

我看了一遍,但无法弄清楚这一点.你如何总结BigIntegers的列表?

Using System.Numerics;
Using System.Linq;

List<BigInteger> bigInts = new List<BigInteger>();
BigInteger sum = bigInts.Sum();             // doesn't work
BigInteger sum = bigInts.Sum<BigInteger>(); // doesn't work
BigInteger sum = bigInts.Sum(x => x);       // doesn't work
Run Code Online (Sandbox Code Playgroud)

你必须这样做吗?

BigInteger sum = new BigInteger(0);
foreach(BigInteger bigint in bigInts)
    sum += bigint;
Run Code Online (Sandbox Code Playgroud)

c# syntax sum biginteger

16
推荐指数
2
解决办法
2829
查看次数

BigInteger使用多少空间?

BigInteger对象一般使用多少字节的内存?

java biginteger

16
推荐指数
2
解决办法
1万
查看次数

有效地检测有理数是相等的

我有许多有理数的集合,每个有的分子和分母存储为一个大的(数百或数千位)无符号整数.我希望能够有效地测试a/b集合中任何给定的有理数是否等于集合中的任何其他有理数c/d.

a*d == b*c当然,最直接的方法是测试是否比计算完整产品更有效.

关于我的特定用例的一些注释:

  • 我将测试的对很可能实际上是相等的(因为我已经预先计算并首先通过它们的浮点近似来比较它们),所以如果它们不相等的早期外出将不会为我节省很多时间.
  • 我很好地预先计​​算了每个数字的额外数据,但每个数字只会用于少数比较,因此昂贵的预计算(例如素数因子分解)可能不值得.
  • 偶尔的假阴性会很好,但误报不是.

我认为这在理论上可能是不可能的,但为了以防万一,将它扔到蜂巢头脑中.

biginteger rational-numbers integer-arithmetic

16
推荐指数
1
解决办法
272
查看次数

Objective-c上的biginteger

任何人都可以BigInteger在objective-c中为提供PowMod功能的实现提供代码吗?

objective-c biginteger

15
推荐指数
4
解决办法
1万
查看次数

如何使用BigInteger类在Java中生成随机n位整数?

我不确定如何生成在Java中使用BigInteger类一个随机N位整数.

java biginteger digits

15
推荐指数
2
解决办法
2万
查看次数

BigInteger到byte []

我需要将Java BigInteger实例转换为以字节为单位的值.从API中,我得到了这个方法toByteArray(),它返回一个包含这个BigInteger的二进制补码表示的byte [].

因为我的所有数字都是正128位(16字节)整数,所以我不需要2位补码形式给我128位+符号位(129位)......

有没有办法直接从BigInteger获得标准(没有2的补码形式)表示?

如果没有,我怎么能正确移位整个byte [17]数组以丢失符号位以获得一个byte [16]数组?

java byte biginteger

15
推荐指数
1
解决办法
3万
查看次数

GMP整数的位数

有没有一种简单的方法来确定GMP整数的位数?我知道你可以通过日志来确定它,但我想知道库中是否有一些我缺少的东西.我在手册中找到的唯一一件事是:

_mp_size肢数,或表示负整数时的负数.零由_mp_size设置为零表示,在这种情况下_mp_d数据未使用.

但我的印象与我正在寻找的完全不同.

124839 = 6位数.

c++ integer biginteger gmp

15
推荐指数
1
解决办法
4201
查看次数

在Ruby on Rails表单中输入数字时的小数和逗号

在表单中输入数字时,允许用户使用小数或逗号的最佳Ruby/Rails方法是什么?换句话说,我希望用户能够在我的数据库中输入2,000.99而不是2.00.

这是最好的做法吗?

- 更新---

gsub可以与浮点数或大整数一起使用吗?或者,当将浮动或整体输入表格时,轨道会自动切断数字吗?我尝试使用self.price.gsub(",","")但得到"未定义的方法`gsub'为8:Fixnum",其中8是我在表单中输入的任何数字.

ruby-on-rails decimal biginteger comma ruby-on-rails-3

15
推荐指数
3
解决办法
1万
查看次数