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
Subscribe to:
Post Comments (Atom)
0 评论:
Post a Comment