unsigned int
読み:アンサインド-イント
外語:unsigned int

 C/C++などで、「符号なしの基本的な整数型」を示す。
目次

特徴

C/C++

仕様
 unsignedintはそれぞれが予約語であり、この組み合わせである。
 変数の長さ自体はintと同じであるが、符号ビット分の1ビットが無いため、有効情報長が1ビット分長くなる。代わりに0と正の数しか利用できない。

unsigned
 言語仕様では、単に「unsigned」と書くと「unsigned int」の意味である。
 unsigned short、unsigned longなども同様だが、shortやlongのときはintを略すのに、unsigned intの場合はintを略さない人が多い。恐らく、unsigned (char|short|int|long|long long)と並べたとき、intを書いておいたほうが見栄えが良いからであろう。

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

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

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

typedef
 ISO Cには、次のtypedefが存在する。
 typedef unsigned int u_int32_t;
 System V等古い実装では、次のtypedefが存在する。POSIX準拠の実装(_POSIX_SOURCE定義)では使用できない。
 typedef unsigned int uint;
 BSD系を中心に、次のtypedefが存在する。POSIX準拠の実装(_POSIX_SOURCE定義)では使用できない。
 typedef unsigned int u_int;
 Windowsでは、次のtypedefが存在する。
 typedef unsigned int UINT;

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

再検索