Как сохранить / присвоить значение типу данных, превышающему его диапазон - PullRequest
0 голосов
/ 22 апреля 2020

Я написал простой код для печати простой серии, в которой текущее число умножается на предыдущее число.

#include <iostream>

using namespace std;

int main()
{
    int n, i; 
    unsigned long long result = 1;

    std::cout << "please enter the number" << std::endl;
    std::cin >> n;

    for(i=1; i<=n; i++){
        result = result*i;
    }

    cout<<result;

    return 0;
}

вывод

введите число
65
9223372036854775808 (это самое высокое значение в результате, полученном для длинных без знака) Теперь, если входное значение равно 66, оно выдает выходное значение как 0 (поскольку оно превысило диапазон длинных длинных без знака)

Как получить результат для переменной, которая превышает диапазон типов данных?

...