Умножение больших чисел дает неправильное значение - PullRequest
0 голосов
/ 03 июня 2018

У меня есть код

long long x = 200000 * 200000;
cout << x << endl;

, он выводит 1345294336 Я пытался преобразовать в строку и выводить каждую цифру, и он по-прежнему выводит то же самое

1 Ответ

0 голосов
/ 03 июня 2018

Попробуйте

long long x = 200000LL * 200000LL; 
std::cout << x << std::endl;

обратите внимание на суффикс "LL".Чтобы узнать больше об использовании суффиксов для числовых литералов, посетите страницу Целочисленные литералы на cppreference.com .

...