理解C 中的浮點除法
儘管被分配給double 變量,除法(3/5) 會導致提供的結果為零由於整數除法而產生的代碼。預設情況下,C 將除法表達式中的運算元計算為整數。由於 3 和 5 都是整數,因此它們的除法會產生整數結果,結果為零。
要執行浮點除法,且結果保持小數精度,至少有一個操作數應該是浮點文字。這迫使編譯器將除法視為浮點運算並傳回浮點結果。
在原始程式碼中,為了實現預期的浮點除法,可以將其修改如下:
#include <iostream> int main(int argc, char** argv) { double f = 3.0 / 5; // Change both operands to floating-point literals std::cout << f; return 0; }
透過將一個操作數(在本例中為3.0)設為浮點文字,編譯器將執行浮點除法,結果將正確反映小數值。
以上是為什麼C整數除法結果為零,以及如何實現浮點除法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!