Juergen Wolff von Gudenberg wrote (and others have referenced):
my suggestion is well known, See Motion 7
use [+Nan,+nan] for emptyset
use [-nan,-nan] for NaI
Careful here! Encoding information (e.g. Empty vs NaI) in the sign bit
of a NaN is very dangerous in 754-based environments, as a NaN sign is
defined to be meaningless, and may not be propagated predictably. For
example, the sign of NaN*Num may be the XOR of the operand signs, even
though the NaN payload will be preserved. (For NaN*NaN one of the two
payloads will be preserved -- which one is in general NOT predictable.)