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