我在輸入兩個數字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