倍精度浮動小数点数(double)の構成要素は
・符号:1bit
・指数:11bit
・仮数:52bit
なので「うまいこと計算する」とdoubleと64bitの相互変換は可能です。
ところが、double で表現可能な nan というやつがいて、
これは特定のビットパターンを持っているのだけど
nan に対してはさっきの「うまいこと計算する」ことができなくなってしまいます。
例えば nan<0 も nan>0 も 0 になるし
sgn(nan) も sign(-nan) も 1 になるし
nan*2.0 や nan/2.0 はやっぱり nan だし。
2そうだね プレイ済み