Я пытаюсь найти квадрат int
. Мой код выглядит следующим образом:«Int» умножение в C++ с результатом «long long»
long long sqr=0;
int num=77778;
sqr= num*num;
Результат должен быть 6049417284
Но когда я проверяю выход это показывает 1754449988
. Какая ошибка я делаю? long long
должен иметь возможность сохранять результат, но почему я получаю другое значение?
Сначала 'num * num' дает целое число (и переполнение), которое затем неявно отбрасывается до длинного. –