печать очень больших чисел с плавающей запятой

#include <stdio.h>
#include <float.h>

int main()
{
    printf("%f\n", FLT_MAX);
}

Вывод GNU:

340282346638528859811704183484516925440.000000

Вывод Visual Studio:

340282346638528860000000000000000000000.000000

Допускают ли стандарты C и C++ оба результата? Или они требуют конкретного результата?

Обратите внимание, что FLT_MAX = 2^128-2^104 = 340282346638528859811704183484516925440.

13
задан fredoverflow 10 June 2012 в 17:00
поделиться