Я хотел бы, чтобы умножить два unsigned integers
, но я хочу, чтобы результат в unsigned long long
переменнойнеподписанные длинные длинные арифметика
unsigned long long M;
unsigned int X;
unsigned int Y;
X = 999999;
Y = 9990;
M = X * Y;
M
должен быть 9989990010
но по какой-то причине он продолжает быть 1400055418
I с этой проблемой уже неделю, и я думаю, что дошел до того, что хочу плакать!
9989990010LL% (1 << 32) == 1400055418LL –