いつもいつもヘルプで探し回ることになるので、ここに書いておくことにする。
ANSI C では,基本的なデータ型のサイズと数値の範囲(とそれらの順列)は処理系に依存し,通常はホストコンピュータのアーキテクチャに由来するものとしています。 C++Builder がターゲットとするプラットフォームは 8088 および 80x86 マイクロプロセッサを持つ機種であり,そのマイクロプロセッサのアーキテクチャによって,各データ型の内部表現が決定付けられています。
次の表は,C++Builder におけるデータ型のサイズと,対応する数値の範囲の一覧です。数値型の内部表現に,これらのデータ型が内部的にどのように表現されるかを示します。
データ型 | サイズ(ビット) | 範囲 | 応用例 |
unsigned char | 8 | 0 <= X <= 255 | 小さな数,文字セット |
char | 8 | -128 <= X <= 127 | 小さな数,ASCII 文字 |
short int | 16 | -32,768 <= X <= 32,767 | カウンタ,小さな数,ループ制御 |
unsigned int | 32 | 0 <= X <= 4,294,967,295 | やや大きな数,ループ制御 |
int | 32 | -2,147,483,648 <= X <= 2,147,483,647 | カウンタ,小さな数,ループ制御 |
unsigned long | 32 | 0 <= X <= 4,294,967,295 | 天文学的距離 |
enum | 32 | -2,147,483,648 <= X <= 2,147,483,647 | 順序のある値の集合 |
long | 32 | -2,147,483,648 <= X <= 2,147,483,647 | 大きな数,人口 |
float | 32 | 1.18 * 10^-38 < X < 3.40 * 10^38 | 科学計算(有効数字 7 桁) |
double | 64 | 2.23 * 10^-308 < X < 1.79 * 10^308 | 科学計算(有効数字 15 桁) |
long double | 80 | 3.37 * 10^-4932 < X < 1.18 * 10^4932 | 財務計算(有効数字 18 桁) |