В настоящее время я работаю над проблемой, которая вычисляет число пи.Вычислительная часть работает нормально, но с моим текущим типом данных я могу вычислить только определенное количество цифр, прежде чем он перестанет их хранить (~ 32?).
Я использую длинный двойной, но я хочу больше цифр, предпочтительно переменную сумму.
#include <iostream>
#include <math.h>
#include<bits/stdc++.h>
//variables
float sign = 1.0;
long double sum = 0.0;
float start = 3.0;
int iteration = 0.0;
int main() {
std::cout << "How many iterations should be completed?" << std::endl;
std::cin >> iteration;
//calculating part
for (int j = 1; j < iteration; j++) {
sum = sum + sign * 4.0 / ((2 * j) * (2 * j + 1.0) * (2 * j + 2.0));
sign *= -1.0;
}
//output
std::cout << std::fixed << std::setprecision(1000) << sum + start << std::endl;
return 0;
}
Я получаю то, что ожидаю, но я не нашел тип данных, которыймагазинов еще больше.Должен ли я сам написать один?