unsigned short
読み:アンサインド-ショート
外語:unsigned short

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

特徴

C/C++

仕様
 正式にはunsigned short intと書いて短い無符号intを表わす。unsignedshortintはそれぞれが予約語であり、この組み合わせである。但し、shortの後のintは省略可能であり、unsigned shortとだけ記述した場合はunsigned short intであるとして処理される。
 変数の長さ自体はshort(short int)と同じであるが、符号ビット分の1ビットが無いため、有効符号が1ビット分長くなる。代わりに0と正の数しか利用できない。

printf
 printfのフォーマット文字列は、標準的には%huなどを用いる。
 一般的には、unsigned intと同様に%uが使われる。

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

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

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

再検索