Ahh, I think I get it now. In fact I used the frexp function to see how the computer was storing that number. Here's the code:
Code:
#include <stdio.h>
#include <float.h>
#include <math.h>
int main(){
double mantX;
int expX;
double x = 1267650600228229401496703205376.000000;
mantX=frexp(x,&expX);
printf("Numero %lf eh representado como %lf x 2 ^ %d\n",x,mantX,expX);
return 0;
}
It turns out that the computer stores that number as 0.500000 x 2 ^ 101. So I calculated the next possible number, which is 0.500001 x 2 ^ 101, and it is:
1267653135529429857955506198782.410752
So making the subtraction:
1267653135529429857955506198782.410752 (next number)
-
1267650600228229401496703205376.000000 (original number)
=
2535301200456458802993406.410752 (minimum difference to produce a change)
Which means that difference between the two consecutive values on that scale is that last, pretty big number.
Am I correct?