int、float、doubleの値域

floatとdoubleの違いは、表現できる値の範囲と、精度の違いです。

コンピュータでは、無限に大きな数や無限に小さな数は表現できません。
また、必ず精度に限界があります。
(そろばんや電卓を思い浮かべれば、限界があるというのは納得できるかと思います)

float型で表現できるのは、±10-38〜1038の範囲で、有効桁は7桁です。
double型では、±10-308〜10308の範囲で、有効桁は15桁です。

普通の計算ではfloat型で十分ですが、極端に大きな数を扱う場合や、高い精度が必要となる場合は、double型で宣言すると良いでしょう。

また、整数を扱うint型は、-2147483648〜2147483647の範囲です。
階乗の計算(例えば、5!=120、10!=3628800)のように計算結果が巨大な値になる場合は、注意が必要です。

型名 対象 ※1 表現できる範囲 有効桁
int 整数 %d -2147483648〜2147483647 ---
float 小数 %f ±10-38〜1038 7桁
double 小数 %f ±10-308〜10308 15桁


整型 int 可添加 short 和 long:
short int: 简为 short;
long int: 简为 long;
long long int: 简为 long long

它们都可以再添加 unsigned:
unsigned int: 简为 unsigned
unsigned short int: 简为 unsigned short
unsigned long int: 简为 unsigned long
unsigned long long int: 简为 unsigned long long

char 可添加 unsigned:
unsigned char

double 可添加 long:
long double

0 评论:

Followers