【问题标题】:How do i store numbers bigger than 10 billion我如何存储大于 100 亿的数字
【发布时间】:2014-01-22 23:03:30
【问题描述】:

我正在编写一个程序,我需要一种方法来使变量超过 100 亿,而 int 只为我存储多达 9.99 亿,所以我决定使用 long 而不是 int,结果它只存储多达9.99 亿。

int TotalWorldPop = 7200000000; 

给我“文字超出范围”错误

long TotalWorldPop = 7200000000;  

也给我“文字超出范围”错误

但是

int TotalWorldPop = 999999999

对我来说没问题

【问题讨论】:

  • int 不仅存储多达 9.99 亿。 long 也没有。请出示您的代码。
  • "int 最多只能存储 9.99 亿" 什么?使用BigInteger 处理大数字。
  • long TotalWorldPop = 7200000000L;
  • @assylias 原始帖子中没有代码,所以我们无法猜测 OP 想要存储什么数字,他只是说 “我需要一种方法让变量超过 10亿” 没有关于上限的任何精度。但是,是的,现在我们看到代码,long 就足够了。
  • 我没有看到原始版本 - 我的错。

标签: java variables int long-integer


【解决方案1】:

long 可以容纳 263-1 这样大的数字。但是将它们放入原始字段有一个技巧。

如果您输入的是原始文字,那么您必须在末尾添加一个L,如all numeric literals are treated as int(它最多只能达到~21 亿)。

如果您需要大于 的数字,请使用 BigInteger

【讨论】:

  • 好的,谢谢,我不知道我必须把 L 放在 long 的末尾,我想我为编程新手付出了代价。
【解决方案2】:

您可以使用BigInteger 来存储非常大的数字。

例子:

Biginteger bigInt1 = new Biginteger("91826581752671985235272769716");
Biginteger bigInt2 = new Biginteger("-1796357891266373473772242");
Biginteger bigint3 = bigInt1.divide(bigInt2);
Biginteger bigint4 = bigInt1.add(bigInt2);

【讨论】:

    猜你喜欢
    • 2012-12-07
    • 2020-08-14
    • 2012-01-17
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2011-02-02
    • 1970-01-01
    相关资源
    最近更新 更多