Вот что происходит, когда вы врете printf (), это неправильно. Когда вы используете спецификатор формата% x, он ожидает, что в стеке будет передано целое число, а не число, переданное в стек FPU. Исправлено:
printf( "%x\n", *(__int32*)&inf ) ;
Вы можете получить бесконечность из заголовочного файла <limits>
C ++:
float inf = std::numeric_limits<float>::infinity().