C言語のu_int16とかって何なのよ。

unixのヘッダとかで見るu_int8とか、u_int16u_int32ってやつ。アレは何なのか。というお話。 そんな検索ワードで来てくださった方が居たようなので。

端的に言ってしまえば、u_int8は8ビットのunsigned intを指します。 つまりu_int8 = unsigned charってこと。

名前別名サイズ最小値最大値
short intint8_t16bit-32,76832,767
unsigned short intu_int8 / uint8_t16bit065,535
int32bit(とも限らない)-2,147,483,6482,147,483,647
unsigned intuint32bit(とも限らない)04,294,967,295
long intint32_t32bit-2,147,483,6482,147,483,647
unsigned long intu_int32 / uint32_t32bit04,294,967,295
long long intint64_t64bit-9,223,372,036,854,775,8089,223,372,036,854,775,807
unsigned long long intu_int64 / uint64_t64bit018,446,744,073,709,551,615

だいたいこんな感じかな。

他にもVisual Studioだと__int8__int16__int32__int64などなど。 ちなみに悪名高き(?)DWORD型は符号なしの32ビット。DobleじゃないただのWORD型は符号なしの16ビットだよ。 勝手に型を増やすなよめんどくさい。


参考: