unsigned long

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

C/C++などで、「サイズの大きな符号なしの整数型」を示し、unsigned intと同じかそれより大きい。

目次

C/C++

仕様

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

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

サフィックス

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

  • UL、LU、ul、lu等

printf

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

マクロ定数

ANSI Cの時代より、limits.hにおいて以下の3個のマクロ定数が定義されるようになった。これを利用すると、その環境での長さを得ることができる。

ULONG_MAX
unsigned long型の最大値 (例えば0xffffffff)
LONG_MIN
long型の最小値 (例えば-2147483648)
LONG_MAX
long型の最大値 (例えば2147483647)

typedef

ISO Cには、次のtypedefが存在する(longが64ビット長の場合のみ)。

typedef unsigned long int u_int64_t;

System V等古い実装では、次のtypedefが存在する。

typedef unsigned long ulong;

BSD系を中心に、次のtypedefが存在する。POSIX準拠の実装(_POSIX_SOURCE定義)では使用できない。

typedef unsigned long u_long;

Windowsでは、次のtypedefが存在する。

typedef unsigned long ULONG;

typedef unsigned long DWORD;

Java

Javaにはunsigned longは存在しない。

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

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

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


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