Разные результаты вывода 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 на конце) в новой версии? Как можно исправить ситуацию, чтобы получить одинаковые результаты для обоих версий?