Jon*_*nas 0 c++ unsigned visual-c++ long-integer
我想将两个相乘,unsigned integers但我希望结果存在于一个unsigned long long变量中
unsigned long long M;
unsigned int X;
unsigned int Y;
X = 999999;
Y = 9990;
M = X * Y;
Run Code Online (Sandbox Code Playgroud)
M应该9989990010但由于某种原因它一直存在1400055418
我已经困扰了一个星期了,我想我已经到了想哭的地步!
你需要转换X和Y到long long.
M = (unsigned long long)X * Y;
Run Code Online (Sandbox Code Playgroud)
足以投射其中一个,结果将基于较大的类型.
否则结果将是int溢出.它将long long在转让时投入使用,但那太迟了:-)