C++の基本的な型とそのバイト数
C++には様々な型が存在しますが、ここでは基本的な型とそのバイト数について説明します。
整数型
整数型には符号付きと符号なしの2種類があります。以下にそれぞれの型とそのバイト数を示します。
char
: 1バイトshort
: 2バイトint
: 4バイトlong
: 4バイトlong long
: 8バイト
浮動小数点型
浮動小数点型にはfloat
とdouble
があります。
float
: 4バイトdouble
: 8バイト
ブール型
ブール型はtrue
またはfalse
の値を持つことができます。
bool
: 1バイト
以上がC++の基本的な型とそのバイト数になります。これらの型を理解することで、効率的なプログラミングが可能になります。次のセクションでは、非標準型とそのバイト数について説明します。
非標準型とそのバイト数
C++には非標準型も存在します。これらは特定のコンパイラやプラットフォームでのみ利用可能な型で、そのバイト数は環境により異なることがあります。
符号付き整数型
int8_t
: 1バイトint16_t
: 2バイトint32_t
: 4バイトint64_t
: 8バイト
符号なし整数型
uint8_t
: 1バイトuint16_t
: 2バイトuint32_t
: 4バイトuint64_t
: 8バイト
これらの型は <cstdint>
ヘッダファイルをインクルードすることで使用することができます。
以上がC++の非標準型とそのバイト数になります。次のセクションでは、型の範囲とサイズの一覧について説明します。
型の範囲とサイズの一覧
C++の各型の範囲とサイズを一覧表にまとめました。これらの値は環境により異なることがありますので、具体的な値は<limits>
ヘッダファイルのstd::numeric_limits
を使用して確認してください。
型 | サイズ (バイト) | 最小値 | 最大値 |
---|---|---|---|
char |
1 | -128 | 127 |
unsigned char |
1 | 0 | 255 |
short |
2 | -32768 | 32767 |
unsigned short |
2 | 0 | 65535 |
int |
4 | -2147483648 | 2147483647 |
unsigned int |
4 | 0 | 4294967295 |
long |
4 | -2147483648 | 2147483647 |
unsigned long |
4 | 0 | 4294967295 |
long long |
8 | -9223372036854775808 | 9223372036854775807 |
unsigned long long |
8 | 0 | 18446744073709551615 |
float |
4 | 約-3.4e38 | 約3.4e38 |
double |
8 | 約-1.7e308 | 約1.7e308 |
bool |
1 | false | true |
以上がC++の型の範囲とサイズの一覧になります。次のセクションでは、32ビットと64ビット環境での型の違いについて説明します。
32ビットと64ビット環境での型の違い
C++の型のサイズは、使用しているシステムのアーキテクチャ(32ビットまたは64ビット)によって異なる場合があります。特に、int
、long
、long long
、ポインタ型などが該当します。
以下に、32ビットと64ビット環境での主な型のサイズの違いを示します。
型 | 32ビット環境でのサイズ (バイト) | 64ビット環境でのサイズ (バイト) |
---|---|---|
int |
4 | 4 |
long |
4 | 8 |
long long |
8 | 8 |
ポインタ型 | 4 | 8 |
この表からわかるように、long
型とポインタ型のサイズは、32ビット環境と64ビット環境で異なります。これは、64ビット環境ではメモリアドレスが64ビットで表現されるため、ポインタ型のサイズが8バイトになります。また、long
型はシステムのワードサイズに依存するため、64ビット環境では8バイトになります。
以上が32ビットと64ビット環境での型の違いになります。これらの違いを理解することで、プログラムの互換性や効率性を向上させることができます。この記事がC++の型とそのバイト数についての理解に役立つことを願っています。次回は、さらに深くC++の型について掘り下げていきます。お楽しみに!