sNaN
sNaN, short for signaling NaN, is a type of NaN defined in the IEEE 754 floating-point standard. It is distinguished from a quiet NaN (qNaN) by a signaling bit in the NaN’s significand. When a floating-point value is NaN, the exponent is all ones and the significand is nonzero; the signaling bit determines whether the NaN is meant to signal an invalid operation (sNaN) or simply propagate as a quiet result (qNaN). In binary formats, the most significant bit of the significand acts as this quiet/signaling bit: if that bit is 0, the NaN is signaling; if it is 1, the NaN is quiet.
The primary purpose of an sNaN is to trigger a floating-point exception, typically an invalid operation, when
In practice, platform and language implementations vary. Some hardware and software environments convert sNaNs to qNaNs
History and use of sNaNs have been shaped by the evolution of IEEE 754 revisions. While the