0
我寫了一個簡單的Java代碼。用JAVA代碼複製的奇怪結果
while (x != 0) {
ret = ret * 10 + x % 10;
x /= 10;
}
如果我給X = 1534236469,它有望恢復9646324351.但是,它實際上返回1056389758代替。 在調試的時候,我發現當它在做964632435 * 10時,結果是1056389758而不是9646324350.
有人能幫我理解嗎?
'ret'是一個int嗎? int的最大可能值是2147483647.如果你想要更大的數字,可以使用'long'或'BigInteger'。 – ajb 2014-12-13 05:12:29
嘗試長時間聲明ret,因爲正常int不能存儲這樣大的值 – 2014-12-13 05:25:36