Игнорируя, зачем мне это нужно,стандарт 754 IEEE fp не определяет поведение для следующего:
float h = NAN;
printf("%x %d\n", (int)h, (int)h);
Gives: 80000000 -2147483648
По сути, независимо от того, какое значение NAN я даю, он выводит 80000000 (hex )или -2147483648 (dec ). Есть ли причина для этого и/или это правильное поведение? Если да, то почему?
Способ, которым я задаю разные значения NaN, описан здесь.: Как я могу вручную установить битовое значение числа с плавающей запятой, равное NaN?
Итак, существуют ли случаи, когда полезная нагрузка NaN влияет на вывод приведения?
Спасибо!