long
読み:ロング
外語:long

 C/C++/Java予約語の一つ。「サイズの大きな整数型」を示し、intと同じかそれより大きい。
目次

C/C++

予約語
 「long」そのものは、様々な修飾に用いる予約語である。
 正式にはlong intと書いて長いintを表わす。但しlongの後のintは省略可能であり、longとだけ記述した場合はlong intであるとして処理される。

長さ
 C/C++では符号付きで、概ね32ビット以上の処理系依存のサイズを持つ。
 但し、言語仕様上はビット長は保証されておらず、次のように扱われる。
 charshortintlonglong long
 一般的な実装では、データ型モデルに応じて、次の長さとなることが多い。

サフィックス
 数値の型を表わすサフィックスは、次のものが使われる。

printf
 printfのフォーマット文字列は、標準的には%ldなどを用いる。

マクロ定数
 ANSI Cの時代より、limits.hにおいて以下の3個のマクロ定数が定義されるようになった。これを利用すると、その環境での長さを得ることができる。
LONG_MIN
long型の最小値 (例えば-2147483648)
LONG_MAX
long型の最大値 (例えば2147483647)
ULONG_MAX
unsigned long型の最大値 (例えば0xffffffff)

typedef
 ISO Cには、次のtypedefが存在する(longが64ビット長の場合のみ)。
 typedef long int int64_t;
 Windowsでは、次のtypedefが存在する。
 typedef unsigned long ULONG;
 typedef unsigned long DWORD;

Java
 Javaでは符号付き64ビット。

再検索