【问题标题】:suitable data type for 20 digit numbers [duplicate]适合 20 位数字的数据类型 [重复]
【发布时间】:2014-12-10 08:42:34
【问题描述】:

什么数据类型适合给定的 20 位数字,例如 12111111111111111111,并且可以转换为二进制?

我试过long,但它超出了范围。

【问题讨论】:

  • 要获取二进制字符串,您可以调用 BigInteger.toString(2)

标签: java


【解决方案1】:

试试这个:

BigInteger b1 = new BigInteger("12111111111111111111");
BigInteger b2 = new BigInteger("12111111111111111112");
System.out.println(b1.add(b2));
System.out.println(" binary format of b1 is : " + b1.toString(2));

【讨论】:

    【解决方案2】:

    java.math.BigInteger 用于“不可变的任意精度整数” - 应该完全满足您的需求。

    【讨论】:

      【解决方案3】:

      你可以使用 bigInteger,它具有你想要的数字的大长度。

      试试这个。

      java.math.BigInteger bignumber = new BigInteger("1211111111111255511236");
      

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2014-11-09
        • 1970-01-01
        • 2012-03-29
        • 1970-01-01
        • 2014-07-16
        • 1970-01-01
        • 2011-07-21
        • 1970-01-01
        • 2014-01-13
        相关资源
        最近更新 更多