2012-04-17 8 views
2

変数に1兆を格納しようとしています。しかし、変数の型が長い場合でも日食はその範囲外です。ここでJavaに1兆を保存するにはどうしたらいいですか?

は私のコードです:

long temp = 1; 

if(...){ 
    temp = 1000000000000; 
} 

誰もが、これは私はそれを本当に感謝し、発生している理由に任意の洞察力を持っている場合。

+4

['L'](http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html)を追加するか、[' BigInteger'](http://docs.oracle.com /javase/7/docs/api/java/math/BigInteger.html)。 – BalusC

答えて

15

それは長い作るために最後にLを追加し、1000000000000で

temp = 1000000000000L; 

Javaはintとして認識されてみてください

+0

ありがとう!私はプログラミングにかなり新しいです。 – rmp2150

+1

@ rmp2150 - これは、言語に慣れていない人がチュートリアルをやり、そして/または教科書を購入して読むことをお勧めします。これは、リテラルを扱うチュートリアルやブックのセクションにあります。 –

0

Javaは、数学ライブラリでのBigInteger型を持ちます。

http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigInteger.html

例:Javaで

import java.math.BigInteger; 
public class BigIntegerExample 
{ 
    public static void main(String[] args) 
    { 
    BigInteger bigInteger1 = new BigInteger ("123456789"); 
    BigInteger bigInteger2 = new BigInteger ("112334"); 
    BigInteger bigIntResult = 
    bigInteger1.multiply(bigInteger2); 
    System.out.println("Result is ==> " + bigIntResult); 
    } 
} 
0

intは符号付き32ビットであるので、最大int値は2,147,483,647です。 1兆のような大きな数値を表現するためにlongを使うのは良い選択です。

long temp = 1000000000000L; 

Javaの基本データ型とその限界の詳細については、私は非常にPrimitive Data TypesにこのOracleの記事を参照することをお勧めします。

関連する問題