Разные результаты вывода printf для вещественных чисел

#include <stdio.h>
int main()
{
    float f = 1717.7890625;
    printf( "%.6f", f );
    return 0;
}

Компилирую этот код в Visual Studio 19 (16.9.2) для x64. Получаю разные результаты в Windows 10:

Version Debug Release
1909 (OS build 18363.1440) 1717.789063 1717.789063
2004 (OS build 19041.867) 1717.789063 1717.789062

В чём причина различий между Debug и Release (63 и 62 на конце) в новой версии? Как можно исправить ситуацию, чтобы получить одинаковые результаты для обоих версий?


Ответы (0 шт):