符号なし長整数型 【unsigned long integer type】 unsigned long型 / ulong型
概要
符号なし長整数型(unsigned long integer type)とは、プログラミング言語などで用いられるデータ型の一つで、桁数の多い0以上の整数を格納できるもの。言語や実装により仕様は異なり、32ビットあるいは64ビット符号なし整数を意味する。その言語や処理系における標準の符号なし整数型(unsigned int型やuint型)と同じか大きいデータ長の整数型を表すデータ型で、C#(ulong型)やVisual Basic(ULong型)などでは64ビット符号なし整数である。一つのデータが8バイト(64ビット)の長さを持ち、表現できる値の範囲は0~18,446,744,073,709,551,615である。
C言語(unsigned long型)では仕様上は「少なくとも32ビットの符号なし整数」と規定されており、多くの処理系では32ビット符号なし整数となっている。20世紀までは多くの処理系でint型が16ビット、long型が32ビットだったが、近年ではint型もlong型も32ビットとすることが多い。64ビット符号なし整数型としてはunsigned long long型を用いるのが一般的である。
符号なし長整数型は0と正の数を扱うことができる符号なし整数型の一種だが、0未満の負の整数を扱う必要がある場合は「long型」あるいは「long int型」を用いる。64ビットの場合の値の範囲は-9,223,372,036,854,775,808~9,223,372,036,854,775,807となる。Javaは符号なし長整数型は用意されておらず、long型を用いる。
(2023.5.2更新)