#include #include #include #define EXPONENT "e-2147483649" #define SIZE 214748364 int main (void) { char * p = malloc (1 + SIZE + sizeof (EXPONENT)); if (p == NULL) { perror ("malloc"); exit (EXIT_FAILURE); } p[0] = '1'; memset (p + 1, '0', SIZE); memcpy (p + 1 + SIZE, EXPONENT, sizeof (EXPONENT)); double d = strtod (p, NULL); printf ("%a\n", d); exit (EXIT_SUCCESS); }