儘管雙倍存儲,除法問題仍導致零
在數值運算中,考慮所涉及操作數的類型非常重要。使用浮點數時,可能需要明確型別轉換以避免意外結果。
在提供的程式碼片段中,使用整數運算元執行 3 和 5 之間的除法運算,從而導致整數除法。這導致商為零。為了獲得所需的浮點除法,有必要將至少一個運算元明確轉換為 double 類型。修正後的程式碼如下:
#include <iostream> int main(int argc, char** argv) { double f = 3.0 / 5; std::cout << f; return 0; }
透過將 3 轉換為雙精確度型 (3.0),編譯器執行浮點除法,產生預期的非零值。這凸顯了在數值運算中註意操作數類型以獲得準確結果的重要性。
以上是為什麼整數除以 3 除以 5 結果為零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!