スポンサーリンク

定数表現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
float f又はFをつける 123.456F
long double l又は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をコピーしました