Nie potrzeba aż takich wartości:
$ cat a.c #include <stdio.h>
#include <string.h>
int main() { int i; double a;
a=9007199254740990; for(i=0;i<5;i++)printf("%f\r\n", a++); } $ gcc a.c && ./a.out
90071992547409900.000000 90071992547409901.000000 90071992547409902.000000 90071992547409902.000000 90071992547409902.000000