この記事では、NAN(Not a Number)という特殊な値について学びます。
NANの定義や特徴、使い方について詳しく解説します。
また、NANの注意点やチェック方法、さらにはNANを活用したプログラミングの例についても紹介します。
さらに、NANとNULLの違いやNANのメリットについても解説します。
初心者の方でもわかりやすく、C言語プログラミングにおけるNANの意味と使い方を理解することができます。
目次から探す
NANとは何か?
NAN(Not a Number)は、数値ではないことを表す特殊な値です。
C言語では、浮動小数点数の計算結果が不正な場合や未定義の場合にNANが返されることがあります。
NANは、数学的な演算ができないことを示すために使用されます。
NANの定義
NANは、float型やdouble型の変数に代入することができます。
以下のように定義されます。
#include <math.h>
float nan_value = NAN;
double nan_value = NAN;
math.hヘッダーファイルをインクルードすることで、NANを使用することができます。
NANの特徴
NANは、以下の特徴を持っています。
- NANは、他のどの数値とも等しくありません。
つまり、NAN == NANの比較結果は常にfalseとなります。
- NANを含む計算結果は、必ずNANとなります。
例えば、NAN + 1やNAN * 2などの演算結果は、いずれもNANとなります。
- NANを含む計算結果は、他の数値との比較結果も常にfalseとなります。
例えば、NAN > 0やNAN < 0などの比較結果は、いずれもfalseとなります。
NANの使い方
NANは、主に以下のような場面で使用されます。
- 計算結果が不正な場合や未定義の場合に、NANを返すことでエラーを示すことができます。
#include <stdio.h>
#include <math.h>
double divide(double a, double b) {
if (b == 0) {
return NAN; // ゼロ除算の場合、NANを返す
}
return a / b;
}
int main() {
double result = divide(10, 0);
if (isnan(result)) {
printf("計算結果が不正です。\n");
}
return 0;
}
- NANを検出することで、特定の条件を判定することができます。
#include <stdio.h>
#include <math.h>
int main() {
double value = sqrt(-1); // 負の数の平方根はNANとなる
if (isnan(value)) {
printf("負の数の平方根は計算できません。\n");
}
return 0;
}
以上が、NANの意味と使い方についての説明です。
NANは、数値ではないことを示す特殊な値であり、計算結果が不正な場合や未定義の場合に使用されます。
NANを検出することで、エラーを判定することができます。
次のページNANを扱う注意点