1. ホーム
  2. java

[解決済み] 64bit jdk を使用した場合の整数範囲

2022-02-06 14:33:29

質問

32bitと64bitの2つの整数の違いは、以下の通りだと理解しています。 32bitの範囲 -2,147,483,648~2,147,483,647 64ビットの範囲 -9,223,372,036,854,775,808 から +9,223,372,036,854,775,807 まで。

64bitのjdkを使用しているので、以下のように出力して検証しています。 System.out.println("JVM Bit size: " + System.getProperty("sun.arch.data.model")));

<ブロッククオート <ブロッククオート

JVMビットサイズ:64

10文字以上の整数型変数を新規に作成しようとすると、コンパイルエラーが発生します。

の例です(netbeans上で実行されました)。 int x = 12345678910; => Error: 整数が大きすぎます。

どのように解決するのですか?

の大きさです。 int は、JDKの32ビット、64ビットとは全く関係なく、常に4バイト=32ビット=-2,147,483,648~2,147,483,647となります。

64ビット整数が必要な場合は long であり、常に64ビット=8バイトである。