首頁 >後端開發 >C++ >為什麼C整數除法結果為零,以及如何實現浮點除法?

為什麼C整數除法結果為零,以及如何實現浮點除法?

Susan Sarandon
Susan Sarandon原創
2024-12-16 17:31:10456瀏覽

Why Does C   Integer Division Result in Zero, and How Can Floating-Point Division Be Achieved?

理解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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn