I noticed that this code compiles, but I have no idea why:
int main() { double z = 0.000000000000001E-383DD; }
But I'm not sure what DD means at the end of the number. I looked at the standard, but this was not mentioned.
I got this number from the following command:
$ gcc -dM -E - < /dev/null #define __DBL_MIN_EXP__ (-1021) #define __FLT_MIN__ 1.17549435e-38F #define __DEC64_DEN__ 0.000000000000001E-383DD ...
Perhaps this is a GCC extension?
source share