Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what does NaN mean for doubles?

What's the difference between NaN and Infinity? When does NaN appear? What is it?

like image 574
Levi H Avatar asked Nov 13 '11 15:11

Levi H


People also ask

What does NaN indicate?

NaN (Not a Number) is a numeric data type that means an undefined value or value that cannot be represented, especially results of floating-point calculations.

How do you compare double NaN?

Use the IsNaN method to determine whether a value is not a number. The Equality operator considers two NaN values to be unequal to one another. In general, Double operators cannot be used to compare Double. NaN with other Double values, although comparison methods (such as Equals and CompareTo) can.

What is double NaN C#?

Overview. The Double. IsNaN() method helps us to see if a certain value is a number or Not a Number (NaN). It returns a Boolean value. If the specified value is NaN, true is returned.

What does NaN mean in C#?

In computing, NaN (Not a Number) is a value of the numeric data type representing an undefined or unrepresentable value, especially in floating-point calculations.


1 Answers

From Wikipedia :

In computing, NaN (Not a Number) is a value of the numeric data type representing an undefined or unrepresentable value, especially in floating-point calculations. Systematic use of NaNs was introduced by the IEEE 754 floating-point standard in 1985, along with the representation of other non-finite quantities like infinities.

And from MSDN :

  • Represents a value that is not a number (NaN). This field is constant.

  • The value of this constant is the result of dividing zero by zero.

  • This constant is returned when the result of an operation is undefined.

  • Use IsNaN to determine whether a value is not a number. It is not possible to determine whether a value is not a number by comparing it to another value equal to NaN.

Where as Infinity (positive infinity and negative infinity) is the result of a floating point operation that causes an overflow (For example 3.0 / 0).

like image 104
Nasreddine Avatar answered Oct 01 '22 01:10

Nasreddine