Почему преобразование C++ из double в float показывает цифры после 8-го знака после запятой?C++

Программы на C++. Форум разработчиков
Anonymous
Почему преобразование C++ из double в float показывает цифры после 8-го знака после запятой?

Сообщение Anonymous »

Когда мы приводим от double к float в C++, мы, очевидно, теряем точность примерно с 15-17 до примерно 8 десятичных цифр, верно? Но, судя по замечанию коллеги, похоже, я давно неправильно понял, как актерский состав на самом деле работает на практике. Видно отсутствие у меня инженерного образования низкого уровня.
Итак, я написал следующее простое приложение в Visual Studio 2026. Я не понимаю, почему актеры делают то, что делают. Может кто-нибудь объяснить мне это?

Код: Выделить всё

int main()
{
double d1 = 0.12341470192384701;      // Take a double of 17 decimal places...
float f1 = static_cast(d1);    // ...cast it to float...
double d2 = f1;                       // ...and back to double

// Dump them all out to 12 decimal places to see what lies beyond the
// float's significant digits after the cast.

std::cout

Вернуться в «C++»