C言語編 標準ライブラリのリファレンス「D」

先頭へ戻る

このエントリーをはてなブックマークに追加

「D」で始まる標準ライブラリ関数及び、その他の定義です。

DBL_MAX

概要 double型で表現可能な最大の数。
ヘッダ float.h
形式 #define DBL_MAX 1.7976931348623158e+308
置換結果 double型で表現可能な最大の数。
詳細
注意 double型で表現できる一番小さい値は、-DBL_MAX である。 DBL_MIN は、一番小さい正数を表している。
使用例
#include <stdio.h>
#include <float.h>

int main(void)
{
	printf( "%e\n", DBL_MAX );

	return 0;
}

実行結果:

1.797693e+308
関連 DBL_MIN は、double型で表現できる一番小さい正数を表す。
解説章 第20章

DBL_MIN

概要 double型で表現可能な最小な正数。
ヘッダ float.h
形式 #define DBL_MIN 2.2250738585072014e-308
置換結果 double型で表現可能な最小な正数。
詳細 double型で表現することができる最も小さい正の数を表している。 言い換えると、最も 0 に近い正数である。
注意 この記号定数は、負数にはならないので、double型の最小値を表してはいない。 最小値が必要ならば、-DBL_MAX を使う。
使用例
#include <stdio.h>
#include <float.h>

int main(void)
{
	printf( "%e\n", DBL_MIN );

	return 0;
}

実行結果:

2.225074e-308
関連 double型の最大値は DBL_MAX を調べる。
解説章 第20章

difftime関数

概要 カレンダー時間から経過秒数を得る。
ヘッダ time.h
形式 double difftime(time_t t1, time_t t2);
引数 t1 カレンダー時間
t2 カレンダー時間
戻り値 t1 から t2 までの経過秒数。
詳細 2つのカレンダー時間の差分を取り、経過秒数を返す。 すなわち t1 - t2 であるが、カレンダー時間がどのように定義されているかは環境依存であるため、 実際に t1 - t2 と記述することは適切ではなく、この関数を使って計算すべきである。
注意
使用例
#include <stdio.h>
#include <time.h>

static const int STOP_SEC = 5;  /* 停止させる秒数 */

int main(void)
{
	time_t begin;
	time_t now;

	printf( "%d秒間停止します。\n", STOP_SEC );

	time( &begin );

	while( 1 ){
		time( &now );
		if( difftime(now, begin) >= STOP_SEC ){
			break;
		}
	}

	puts( "終了します。" );

	return 0;
}

実行結果

5秒間停止します。
終了します。
関連
解説章 第51章

参考リンク

Cクイックリファレンス 第2版
 -- C11対応のリファレンス。
S・P・ハービソン3世とG・L・スティール・ジュニアのCリファレンスマニュアル 第5版
 -- C99 まで網羅した最も詳細なリファレンス。
新ANSI C言語辞典
 -- 標準ライブラリについて詳しい。C99 には非対応。

更新履歴

'2011/4/23 difftime関数の説明を追加。

'2009/10/15 DBL_MAX、DBL_MIN の説明を追加。

'2009/6/24 新規作成。



標準ライブラリのリファレンスのトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ