スポンサーリンク

定数表現floatとdoubleについて補足説明

実数型変数宣言 double

先日実数型変数宣言【 float 】について勉強しました。今回は定数表現方法を勉強するついでにもう一つの実数型変数宣言【 double 】について補足勉強してみたいと思います。

数値定数には8進数、10進数(通常使用する数値)、16進数、指数、long定数、符号なし定数などがあり、まずその辺から少し勉強してみたいと思います。

数値定数表記方法サンプル
8進数0を先頭につける0123
16進数0x又は0Xを先頭につける0x123
10進数そのまま123
指数e又はEをつける3.4567e2(345.67)

※3.4567e2は3.4567×10の二乗=345.67 と言う表現になります。

接尾語を指定する事で、異なる型の数値定数にする事が出来ます。
※今回この表のサンプルはありません。今後接尾語を使用したケースの際、参照用としたいと思います。

定数タイプ接尾語サンプル
int定数接尾語は不要12345678
long定数l又はLをつける12345678L
unsigned int定数u又はUをつける12345678U
unsigned long定数ul又はULをつける12345678UL
double定数接尾語は不要123.456
floatf又はFをつける123.456F
long doublel又はLをつける123.456L

8進数、10進数、16進数、実数、指数(乗数)表現のサンプルです

※printfについては面倒なので、それぞれ整数型【 pp 】と実数型【 tt 】にそれぞれ関数にしました。

#include <stdio.h>
void pp(int a);
void tt(double b);int main(void)
{
int n8, n10, n16;
double f, fe;n8=0123;
n10=123;
n16=0x123;
f=1.234;
fe=5.678e2;pp(n8);
pp(n10);
pp(n16);tt(f);
tt(fe);

return 0;

}

void pp(int a)
{
printf(“%d\n\n”,a);

}

void tt(double b)
{
printf(“%f\n\n”,b);
}

上記サンプルの解説図

上記の実行結果です。

コメント

タイトルとURLをコピーしました