Определение

Самый лучший тип для хранения нецелых чисел в случае большого ограничения по памяти, что зачастую и происходит в задачах. Реализации этого типа зависят от компилятора, но зачастую он весит 128 !Бит, что позволяет очень точно хранить даже большие числа, его точность достигает 18 знаков после запятой. В плане памяти является аналогом __int128, но для чисел с плавающей точкой.

Примеры

Как мы видим, long double отлично справляется даже с числами, помещающимися в int.

#include <bits/stdc++.h>
using namespace std;
int main() {
	long double x = (long double)(99999999999) / (long double)(1000); // Предполагаемое число 99999999.999
	cout << fixed << setprecision(10) << x; // Выводимое число - 99999999.999
}