新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


programing:c-language:long-data-size


long型のデータサイズに注意(64bitコンパイラ)

LinuxでのCコンパイラで、32bit環境と64bit環境では、long型のデータサイズが違うので注意。

データ型とサイズ

型名 サイズ (32 ビット) サイズ (64 ビット) 備考
char 1 バイト 1 バイト
short 2 バイト 2 バイト
int 4 バイト 4 バイト
long 4 バイト 8 バイト サイズが異なる
long long 8 バイト 8 バイト
  • 整数型の前には、修飾子 signed または unsigned が付けられる。符号修飾子が存在しない場合、その型は符号付き (signed) であると見なされる。

stdint.hでのデータサイズ

最近のCコンパイラでは、stdint.h で定義の型が使えるようになっているので、極力この型を使うようにした方がよい。

型名 説明 備考
int8_t 1 バイトの符号付き整数
int16_t 2 バイトの符号付き整数
int32_t 4 バイトの符号付き整数
int64_t 8 バイトの符号付き整数
intptr_t ポインタと同じサイズの符号付き整数
uint8_t 1 バイトの符号なし整数
uint16_t 2 バイトの符号なし整数
uint32_t 4 バイトの符号なし整数
uint64_t 8 バイトの符号なし整数
uintptr_t ポインタと同じサイズの符号なし整数

参考

programing/c-language/long-data-size.txt · 最終更新: 2022/06/20 11:18 by yoko