Questions tagged «biginteger»

9
如何使用BigInteger?
我有这段代码,它不起作用: BigInteger sum = BigInteger.valueOf(0); for(int i = 2; i < 5000; i++) { if (isPrim(i)) { sum.add(BigInteger.valueOf(i)); } } sum变量始终为0。我在做什么错?
153 java  biginteger 

2
从整数转换为BigInteger
我想知道是否有任何方法可以将Integer类型的变量转换为BigInteger。我尝试过类型转换Integer变量,但是却收到一条错误消息,指出不可转换的类型。
129 java  biginteger 

6
Java中的大量数字
我将如何使用Java中的超大型数进行计算? 我已经尝试过了,long但是最大值达到了9223372036854754775807,当使用整数时,它不能保存足够的数字,因此对于我所需要的来说不够准确。 有没有办法解决?

8
任意精度算术说明
我正在尝试学习C,并且遇到了无法处理非常大的数字(即100位数字,1000位数字等)的问题。我知道有可以执行此操作的库,但是我想尝试自己实现。 我只想知道是否有人可以或可以提供关于任意精度算术的非常详细,愚蠢的解释。

6
如何将字符串转换为BigInteger?
我正在尝试从标准输入中读取一些非常大的数字,并将它们加在一起。 但是,要添加到BigInteger,我需要使用BigInteger.valueOf(long);: private BigInteger sum = BigInteger.valueOf(0); private void sum(String newNumber) { // BigInteger is immutable, reassign the variable: sum = sum.add(BigInteger.valueOf(Long.parseLong(newNumber))); } 效果很好,但由于BigInteger.valueOf()只有a long,因此我无法添加大于long的最大值(9223372036854775807)的数字。 每当我尝试添加9223372036854775808或更多时,都会收到NumberFormatException(完全可以预期)。 有类似的东西BigInteger.parseBigInteger(String)吗?

5
最好的(便携式)跨平台任意精度数学库是什么?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 5年前关闭。 改善这个问题 我正在寻找一个使用C或C ++编写的良好的任意精度数学库。您能给我一些建议吗? 主要要求: 它必须处理任意大的整数-我的主要兴趣是整数。如果您不知道任意大这个词的含义,请想象一下类似100000的东西!(阶乘为100000)。 在库初始化或对象创建期间,不必指定精度。精度应仅受系统可用资源的限制。 它应利用平台的全部功能,并应本地处理“小”数字。这意味着在64位平台上,计算(2 ^ 33 + 2 ^ 32)应该使用可用的64位CPU指令。该库不应以与在同一平台上使用(2 ^ 66 + 2 ^ 65)相同的方式来计算该值。 它必须有效地处理加(+),减(-),乘(*),整数除(/),余数(%),幂(**),增量(++),减(--),GCD,阶乘和其他常见的整数算术计算。能够处理不会产生整数结果的函数(例如平方根和对数)是一个加号。处理符号计算的能力甚至更好。 这是我到目前为止发现的内容: Java的BigInteger和BigDecimal类:到目前为止,我一直在使用它们。我已经阅读了源代码,但是我不理解下面的数学原理。它可能基于我从未学过的理论和算法。 内置整数类型或bc,Python,Ruby,Haskell,Lisp,Erlang,OCaml,PHP以及其他一些语言的核心库:我使用了其中一些,但不知道它们使用的是哪个库,或者他们正在使用哪种实现。 我已经知道的: 使用char十进制数字和char*十进制字符串,做用数字计算for-loop。 使用int(或long int或long long)作为基本的“单位”,并使用该类型的数组作为任意长整数,并使用for-loop对元素进行计算。 使用整数类型将十进制数字(或几位数)存储为BCD(二进制编码的十进制)。 布斯的乘法算法。 我不知道的是: 不使用天真的方法,将上述二进制数组以十进制打印。天真的方法的一个示例:(1)从最低到最高的位相加:char*1、2、4、8、16、32 ,……(2)使用上面提到的-string来存储中间十进制结果)。 我的赞赏: 在GMP,MPFR,decNumber(或您认为不错的其他库)上进行了很好的比较。 关于我应该阅读的书籍和文章的好的建议。例如,用数字说明非原始的二进制到十进制转换算法是如何工作的将是很好的。道格拉斯·W·琼斯(Douglas W. Jones)的文章“有限精度的二进制到十进制转换”是一个很好的例子。 任何帮助一般。 如果您认为使用(或或)可以轻松解决此问题,请不要回答此问题。如果您这样认为,则您将不理解所涉及的问题。doublelong doublelong long double
81 c++  c  biginteger  bigdecimal  gmp 

13
如何在C ++中实现big int
我想在C ++中实现一个大型int类作为编程练习,该类可以处理大于long int的数字。我知道已经有几种开源实现,但是我想写自己的。我正在尝试了解正确的方法是什么。 我知道一般的策略是将数字作为字符串获取,然后将其分解为较小的数字(例如,单个数字),然后将它们放置在数组中。在这一点上,实现各种比较运算符应该相对简单。我主要关心的是如何实现加法和乘法。 我正在寻找一种通用的方法和建议,而不是实际的工作代码。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.