型は数字や文字などの変数を宣言するもので、種類があります。
型によって記憶領域に確保するサイズ(ビット数)が違います。
サイズが違うため、中に入れられる数値の最大値が異なってきます。
OSが32bit(ビット)か64bitなのか、windowsかLinuxかなどでサイズが異なります。
処理系によって違うことに注意してください。
また、ここではbit数についてはふれませんが、入れ物の大きさだと考えてください。
64bitの主な環境でのデータ型
型 | 数値の種類 | windows (bit数) | Linux (bit数) | 値の範囲 |
---|---|---|---|---|
char | 文字(整数) | 8 | 8 | -128~127 文字だけでなく数値も入れられる |
short | 単精度整数 | 16 | 16 | -32768~32767 |
int | 整数 | 32 | 32 | -2147483648~2147483647 |
long | 倍精度整数 | 32 | 64 | 環境によって異なる (32bit) -2147483648~2147483647 (64bit) -9223372036854775808~9223372036854775807 |
long long | 倍々精度整数 | 64 | 64 | -9223372036854775808~9223372036854775807 |
float | 単精度実数 | 32 | 32 | 1.175494e-38~3.402823e+38 |
double | 倍精度実数 | 64 | 64 | 225074e-308~1.797693e+308 |
void | 型なし | - | - |
単精度とか倍精度、倍々精度という修飾語がでてきますが、これは入れ物の大きさを表しています。
ここでどの変数を使用するかを考えてみましょう、例えば整数を宣言するときに、
値が32767以内の値を入れる場合には short を使用します。
それ以上大きくて、2147483647以内の値を入れる場合には int を使用します。
それ以上の場合には、同様に考えてlong や long long を使用します。
符号なし
型に unsigned をつけると符号なしになります。
例えば、shortを使用しようと思うが負の値は使用しないとします。
この場合には、
unsigned short 変数名;
のように宣言します。
そうすると、short の値の範囲は -32768~32767 でしたが、負の値は不要なので
unsigned short に入れられる値の範囲は 0 〜 65535 になります。
負の値は入れられませんので注意して下さい。
コメント