Согласно действующего проекта стандарта C99 , приложение F, оно должно быть двойным. Конечно, это предполагает, что ваши компиляторы соответствуют этой части стандарта.
Для C ++ я проверил черновик 0x и черновик для версии стандарта 1998 года, но ни один из них, похоже, не указывает ничего о представлении, подобном той части стандарта C99, кроме bool в numeric_limits, который указывает, что IEEE 754 / IEC 559 используется на этой платформе, как упоминает Джош Келли.
Очень немногие платформы не поддерживают IEEE 754, хотя - как правило, не окупается разработка другого формата с плавающей запятой, поскольку IEEE 754 четко определен и работает довольно хорошо - и если это поддерживается, то это разумно предположение, что double действительно 64-битный (в конце концов, IEEE 754-1985 вызывает этот формат с двойной точностью, так что это имеет смысл).
Если вероятность двойной не является двойной точностью, встроите проверку работоспособности, чтобы пользователи могли сообщать о ней, а вы могли обрабатывать эту платформу отдельно. Если платформа не поддерживает IEEE 754, вы все равно не получите это представление, если не внедрите его самостоятельно.