C++泰勒展开计算e的幂次,超范围了怎么办?

#include
#include
#include
using namespace std;
int main() {
int x;
double solo, total, fenzi, fenmu,n;
cout << "请输入x的值(-10~+65)" << endl;
cin >> x;

fenzi = x;
fenmu = 1;
solo = fenzi / fenmu;
total = 1;
    for (n = 1; fabs(solo) >= 1e-6; n++) {
        if (n > 1) {
            fenzi = fenzi * x;
            fenmu = fenmu * n;
        }
        solo = fenzi / fenmu;
        total = total + solo;
    }
cout << "e^" << x << '=' << total << endl;
return 0;

}

以上是代码,当x输入64的时候超范围了,怎么办??
谢谢!

int x换成long,再不行用long long
还不行就要自己实现大数运算了。

大数运算呗,还能咋地。或者python实现呗,自带大数运算