Tutorials: What is NaN and what does it mean?

  • Home
  • /
  • Blog
  • /
  • Tutorials: What is NaN and what does it mean?
Try Free SQL Trainer - learn by doing!
SQL queries made easy - Natural Questions to SQL Converter.

If your compiler produces a NaN, it has a property that it is not equal to any value, including itself. *

If a is NaN, then a == a is false. If a is NaN, then a will neither be equal to, less than, nor greater than any value including itself.

Another Example: regardless of the value of b, a < b, a <= b, a > b, a >= b, and a == b will all return
false.

Here’s how to check if a value is NaN:

    #include <cmath>

void funct(double x)
{
if (isnan(x)) { ← though see caveat below
// x is NaN

} else {
// x is a normal value

}
}

photo credit: Girl and XO, Mongolia via photopin (license)

prev
next