long

読み:ロング
外語:long 英語
品詞:名詞

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

目次

予約語

「long」そのものは、様々な修飾に用いる予約語である。

正式にはlong intと書いて長いintを表わす。但しlongの後のintは省略可能であり、longとだけ記述した場合はlong intであるとして処理される。

長さ

C/C++では符号付きで、概ね32ビット以上の処理系依存のサイズを持つ。

但し、言語仕様上はビット長は保証されておらず、次のように扱われる。

charshortintlonglong long

一般的な実装では、データ型モデルに応じて、次の長さとなることが多い。

  • 16ビット環境 = 32ビット長
  • 32ビット環境
    • ILP32 = 32ビット長 (多くの32ビット環境)
    • LP32 = 32ビット長
  • 64ビット環境
    • LLP64 = 32ビット長 (Win64)
    • LP64 = 64ビット長 (多くの64ビットLinuxやBSD)
    • ILP64 = 64ビット長

サフィックス

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

  • L、l等

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では符号付き64ビット。

用語の所属
整数型
C
C++
Java
関連する用語
int
short
long long

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club