Я заметил разницу в значениях с плавающей запятой, представленных для Infinity и NAN.
Да, это не удивительно. Эти значения различаются, поэтому их представление также должно различаться.
Указано ли это где-то в стандарте?
В стандарте C ++?
В каком-нибудь стандарте с плавающей запятой, таком как IEEE-754? Да.
Примечание: в C ++ ваш трюк объединения имеет неопределенное поведение. Вместо этого используйте memcpy
.