сам дубль на самом деле достаточно большой (1×10^−37 → 1×10^37
), а также есть длинный двойной и длинный плавающий
Я думаю, что это усекается, потому что вы не установили точность std :: cout
#include <iomanip>
float yourfloat;
cout << fixed << setprecision(lengthoftheprecision) << yourfloat;