Тип long double
Тип long double - это тип данных с плавающей точкой,
который обеспечивает большую точность и диапазон, чем
типы float и double. Он обычно занимает
80, 96 или 128 бит в зависимости
от платформы и компилятора. Тип long double
используется в научных вычислениях, где требуется
высокая точность представления дробных чисел. Суффикс
'L' или 'l' указывает компилятору,
что литерал имеет тип long double.
Синтаксис
long double variable;
long double variable = value;
long double variable = valueL;
Пример
Давайте объявим переменную типа long double
и выведем её значение на экран:
#include <iostream>
using namespace std;
int main()
{
long double num = 3.14159265358979323846L;
cout << num << endl;
return 0;
}
Результат выполнения кода:
3.14159
Пример
Давайте сравним точность типов double
и long double при делении:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double a = 1.0 / 3.0;
long double b = 1.0L / 3.0L;
cout << setprecision(20);
cout << "double: " << a << endl;
cout << "long double: " << b << endl;
return 0;
}
Результат выполнения кода:
"double: 0.33333333333333331483"
"long double: 0.33333333333333333334"
Пример
Давайте узнаем размер типа long double
на текущей платформе с помощью оператора sizeof:
#include <iostream>
using namespace std;
int main()
{
cout << sizeof(long double) << endl;
return 0;
}
Результат выполнения кода:
16