unsigned long long

読み:アンサインド・ロングロング
外語:unsigned long long 英語
品詞:名詞

ISO/IEC 9899:1999(いわゆるC99、日本語規格はJIS X 3010:2003)で採用された、Cの変数型の一つで、「サイズの長い長い符号なしの整数型」を示し、unsigned longと同じかそれより大きい。

C++では仕様化されていないが、一部の実装(GCCやMicrosoft C++など)で対応している。

目次

C/C++

仕様

正式にはunsigned long long intと書いて長い長い無符号intを表わす。unsignedlongintはそれぞれが予約語であり、この組み合わせである。但し、long longの後のintは省略可能であり、unsigned long longとだけ記述した場合はunsigned long long intであるとして処理される。

変数の長さ自体はlong long(long long int)と同じであるが、符号ビット分の1ビットが無いため、有効符号が1ビット分長くなる。代わりに0と正の数しか利用できない。

サフィックス

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

  • ULL、LLU、ull、llu等

printf

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

但し、Microsoft Visual C++ 2003等では、%llu等では値を正常に表示できない。代わりに次のようにする。

  • %I64o、%I64u、%I64x、%I64X

マクロ定数

対応する実装では、limits.hにおいて以下の3個のマクロ定数が定義される。これを利用すると、その環境での長さを得ることができる。

ULLONG_MAX
unsigned long long型の最大値 (例えば0xffffffffffffffff)
LLONG_MIN
long long型の最小値 (例えば0x8000000000000000)
LLONG_MAX
long long型の最大値 (例えば0x7fffffffffffffff)

typedef

ISO Cには、次のtypedefが存在する。

typedef unsigned long long int u_int64_t;

Java

Javaにはそもそも、long long型が存在しない。

更に、Javaの整数型は原則として全て符号付きであり、char以外に符号なしの整数型は存在しない。

用語の所属
整数型
C
C++
関連する用語
unsigned
long long

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


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