Я заметил, что этот код компилируется, но я понятия не имею, почему:C число с плавающей точкой обозначения
int main() {
double z = 0.000000000000001E-383DD;
}
Но я не уверен, что DD
в конце номера означает. Я просмотрел стандарт, но об этом не упоминается.
Я получил этот номер с помощью следующей команды:
$ gcc -dM -E - < /dev/null
#define __DBL_MIN_EXP__ (-1021)
#define __FLT_MIN__ 1.17549435e-38F
#define __DEC64_DEN__ 0.000000000000001E-383DD
...
Может быть, это расширение GCC?
Спасибо за ссылки, они значительно упростили ваш ответ. – gbulmer