Okapi Project

long 型(ろんぐ がた)

バージョン
2003 年 07 月 12日 Ver.1.0
作成者
T.Hirata ( Xware )

目的

long 型の値をプログラムで保持したい。

long 型ってなに?

基本データ型の「整数型」に分類されるものの1つで、64bit の 10 進の整数を変数に格納します。

long 型の説明

long 型のデータは符号付きで、正負どちらの値も保持することができます。

整数型のデータ型
データ型 サイズ 値の範囲
long 8byte -9223372036854775808
〜9223372036854775807

long 型の演算を行った結果、long 型の扱えるデータの範囲を超えた場合には数値が循環します。

0 による除算は不正となり、ArithmeticException が投げられます。

Javaでは数字リテラルはデフォルトでは int 型のため、通常は int 型の範囲を超える数字リテラルを記述することができません。

そのため、long 型へ値を代入する際にint 型の範囲を超える数字リテラルを記述する必要がある時には、数字リテラルの後ろに " l "または " L "を記述します。

また、" l " や " L "は数字リテラルを代入する変数が long 型であることを明示したい場合にも記述します。

long 型の使い方

データ型に long 型を指定し、変数名を宣言して使います。

 long 変数名 ( = 初期値 );
変数名
変数名を指定します。
初期値
変数の初期値を指定します。

ポイント

ヒント

long 型へ値を代入する際に int 型の範囲を超える数字リテラルを記述する場合には、数字リテラルの後ろに " l "または " L "を記述します。
long a = 32768;        // a に 32768 が代入される
long b = 2147483648;   // int 型の範囲である +2147483647 を超える数字リテラルのためコンパイルエラー 
long c = 2147483648L;  // int 型の範囲を超える数字リテラルを記述する場合には"l"や"L"を直後に入力する
long d = 65536L;       // 代入する変数がlong 型であることを明示したい時にも"l"や"L"を入力する

long 型の扱えるデータの範囲を超える演算を行うと、数値が循環します。

long a = 5000000000000000000L;
long b = 5000000000000000000L;
long c = 0;
c = a + b;
System.out.prlongln("c = " + c );

上記の処理結果は以下のようになります。

c = -8446744073709551616

普通に計算を行うと、答えは「10000000000000000000」になりますが、long 型は 9223372036854775807 までの値までしか扱えないため、値が循環します

関連


Copyright © 2003 - 2006 Okapi Project All Rights Reserved.