Могут ли все 32-разрядные числа с плавающей точкой IEEE 754 быть точно представлены 64-разрядными числами с плавающей запятой?
Да. Все числовые значения c binary32 находятся в binary64 .
Другими словами, является ли приведение от f32 до f64 когда-либо округленным?
Не обычно. Различные языки, такие как C, позволяют промежуточным 32-битным вычислениям FP использовать более широкую математику, поэтому cast может сузить (округлить) результаты. И все же, если бы это значение было действительно f32, ошибка округления не возникла бы при переходе к f64.
В стороне:
Полезная нагрузка Not-a-number двоичного файла32 составляет 23 бита и это полностью кодируется как двоичный код64, но подробный смысл их зависит от реализации.