我在输入两个数字a和b,然后计算b中可以有多少个b,然后用剩下的数量显示这个数字。尽管当a = -2147483648和b = 10时,数学运算错误了,但即使使用调试器,我也可以发现问题所在。谢谢!C++中的数学问题
#include <iostream>
#include <cmath>
int main() {
int multiple, a, b, rest;
std::cin >> a >> b;
if (a > 0)
{
multiple = floor(a/b);
rest = a - (multiple * b);
}
else
{
multiple = floor((a - b)/b);
rest = (multiple*b - a);
}
std::cout << multiple << " " << rest << std::endl;
}
结果espected给出-214748365 2 结果214748363 -18
_“...它算错了......”_:你期望得到什么结果,结果是什么得到? –
@ssovukluk OP正在使用'double'这可能是问题,但没有预期/实际我们不能确定。 –
对不起,我刚刚更新了答案 – polmonroig