首页 文章
  • 1 votes
     answers
     views

    Java BigInteger,切断了最后一位数字

    相当容易,如果BigInteger数字是543,我希望它切断最后一位数,使其为54 . 两种简单的方法可以是: 使用字符串,获取子字符串并使用新值创建新的biginteger . 使用数字10的BigIntegers除法 . (543/10 = 54.3 => 54) 事情是,我当然会用大整数执行这个_752091次 . 我的猜测是,用字符串来玩会慢一点,但我又没有那么多地使用B...
  • -1 votes
     answers
     views

    在Java中使用大量数字

    如果我有一个数字x = 0123456789101112,我应该使用什么数字类型?我想也许长或双可能有用,因为它们的范围非常大,但是当我编译程序时,它说它的值太大了 . 我做了一些阅读,发现我可以使用BigInteger类 . 当我将所有值设为BigInteger时,它仍然无法编译: BigInteger x = new BigInteger("0123456789101112&quot...
  • 73 votes
     answers
     views

    最好的跨平台(便携式)任意精度数学库[关闭]

    我在C或C中寻找一个好的任意精度数学库 . 你能给我一些意见/建议吗? 主要要求: It MUST 处理任意大整数(我的主要兴趣是整数) . 如果你不知道这个词是什么意思大,意味着像100000这样的东西! (阶乘为100000) . 在库初始化/对象创建期间指定精度 MUST NOT NEED . 精度应该受到系统可用资源的限制 . It SHOULD 利用平台的全部功能,并且...
  • 1 votes
     answers
     views

    将long或BigInteger乘以double而不会损失精度

    我想将一个高精度整数(long或BigInteger)乘以一个小的double(考虑一些> 0和<1),并获得操作的精确算术值的算术舍入整数(long或BigInteger)作为结果 . 将double转换为整数不起作用,因为它的小数值会丢失 . 将整数转换为double,然后乘以并将结果转换回整数也不起作用,因为double不够精确 . 当然你可以争辩说,因为双操作数首先不够精确,所...
  • 3 votes
     answers
     views

    如何在SML中使用IntInf或LargeInt?

    我想通过这个链接中的pow函数在SML中执行大整数的计算: http://www.standardml.org/Basis/int-inf.html#IntInf:STR:SPEC 但是如何使用这个“库”呢? 更新: 谢谢你的回答 . 我知道了 . 我还必须改变打印限制 Control.Print.intinfDepth := 10000; 我为IntInfs创建了自己的pow函数(并且它可以...
  • 0 votes
     answers
     views

    MappingInstantiationException与Spring Data Couchbase中的BigInteger字段

    我有一个类型为 java.math.BigInteger 的字段的实体 public class MyEntity { private String id; private BigInteger max; } 使用Spring Data JPA将实体存储在DB中没有任何问题;但是当我检索实体时,我得到以下异常 org.springframework.data.mapping.model...
  • 1 votes
     answers
     views

    大十进制整数中的位数

    给定一个大十进制整数,我如何计算bit-length,即其二进制表示的位数? Example: bitlength("590295810358705712624") == 70 算术表达式为: bitlength = ⌊log₂(n)⌋ + 1 对于小整数,此表达式可以转换为标准库调用 . 但是具有任意数字位数的大整数呢? 我们可以从一个或两个前导数字计算 log₂ 的非常...
  • 1 votes
     answers
     views

    执行具有长指数值的Math.pow()操作的最佳方法是什么?

    我正在尝试执行Math.pow()操作来查找10到长数的幂 . 结果预计会非常大,因此,我将其存储在BigInteger中 . 我试过以下: tempBigInt = java.math.BigDecimal.valueOf(Math.pow(10, i)).toBigInteger(); 我通过一个循环来运行它,其中'i'一直在增加,直到满足某个条件 . 此代码工作正常,除非它计算Math.p...
  • 1 votes
     answers
     views

    带有IPv6的IPAddress.HostToNetworkOrder

    在.NET中,IPAddress.HostToNetworkOrder()只能接受一个long int(64位)并返回一个long . 这适用于IPv4,但IPv6地址是128位 . 我发现将IPv6地址存储为整数的唯一方法是: BigInteger big = new BigInteger(ip.GetAddressBytes()); 如何使用BigInteger / IPv6地址从主机订单转...
  • 146 votes
     answers
     views

    如何使用BigInteger?

    我有这段代码,但是没有用: BigInteger sum = BigInteger.valueOf(0); for(int i = 2; i < 5000; i++) { if (isPrim(i)) { sum.add(BigInteger.valueOf(i)); } } sum变量总是0.我做错了什么?

热门问题