Все 32-битные числа с плавающей точкой точно представлены как f64? - PullRequest
1 голос
/ 17 января 2020

Могут ли все 32-разрядные числа с плавающей запятой IEEE 754 быть точно представлены 64-разрядным числом с плавающей запятой? Другими словами, является ли приведение от f32 к f64 когда-либо округленным?

1 Ответ

1 голос
/ 18 января 2020

Могут ли все 32-разрядные числа с плавающей точкой IEEE 754 быть точно представлены 64-разрядными числами с плавающей запятой?

Да. Все числовые значения c binary32 находятся в binary64 .

Другими словами, является ли приведение от f32 до f64 когда-либо округленным?

Не обычно. Различные языки, такие как C, позволяют промежуточным 32-битным вычислениям FP использовать более широкую математику, поэтому cast может сузить (округлить) результаты. И все же, если бы это значение было действительно f32, ошибка округления не возникла бы при переходе к f64.


В стороне:
Полезная нагрузка Not-a-number двоичного файла32 составляет 23 бита и это полностью кодируется как двоичный код64, но подробный смысл их зависит от реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...