変数に1兆を格納しようとしています。しかし、変数の型が長い場合でも日食はその範囲外です。ここでJavaに1兆を保存するにはどうしたらいいですか?
は私のコードです:
long temp = 1;
if(...){
temp = 1000000000000;
}
誰もが、これは私はそれを本当に感謝し、発生している理由に任意の洞察力を持っている場合。
変数に1兆を格納しようとしています。しかし、変数の型が長い場合でも日食はその範囲外です。ここでJavaに1兆を保存するにはどうしたらいいですか?
は私のコードです:
long temp = 1;
if(...){
temp = 1000000000000;
}
誰もが、これは私はそれを本当に感謝し、発生している理由に任意の洞察力を持っている場合。
それは長い作るために最後にLを追加し、1000000000000で
temp = 1000000000000L;
Javaはintとして認識されてみてください
ありがとう!私はプログラミングにかなり新しいです。 – rmp2150
@ rmp2150 - これは、言語に慣れていない人がチュートリアルをやり、そして/または教科書を購入して読むことをお勧めします。これは、リテラルを扱うチュートリアルやブックのセクションにあります。 –
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);
}
}
int
は符号付き32ビットであるので、最大int値は2,147,483,647です。 1兆のような大きな数値を表現するためにlongを使うのは良い選択です。
long temp = 1000000000000L;
Javaの基本データ型とその限界の詳細については、私は非常にPrimitive Data TypesにこのOracleの記事を参照することをお勧めします。
['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