Безопасно ли reinterpret_cast целое число, чтобы плавать?

Примечание: я по ошибке спросил оstatic_cast первоначально; Вот почему верхний ответ упоминаетstatic_cast вначале.

У меня есть несколько двоичных файлов с байтовыми значениями с прямым порядком байтов. Я хочу читать их независимо от машины. Мои процедуры замены байтов (из SDL) работают с целыми типами без знака.

Безопасно ли просто разыгрывать между интами и поплавками?

float read_float() {
    // Read in 4 bytes.
    Uint32 val;
    fread( &val, 4, 1, fp );
    // Swap the bytes to little-endian if necessary.
    val = SDL_SwapLE32(val);
    // Return as a float
    return reinterpret_cast( val );  //XXX Is this safe?
}

Я хочу, чтобы это программное обеспечение было максимально переносимым.

Ответы на вопрос(2)

Ваш ответ на вопрос