共用方式為


乘法運算子: 1,/、 及百分比

 expression * expression 
 expression / expression 
 expression % expression

備註

乘法運算子如下:

  • 乘法 (*)

  • 除法 (/)

  • 模數 (除法運算的餘數) (%)

這些二元運算子則有從左到右順序關聯性。

乘法運算子執行算術的型別的運算元。 模數運算子 (%),因為運算元必須是整數類資料型別有較嚴格的需求。 (取得浮點數除法運算的其餘部分,請使用執行階段函式中, fmod。) 轉換請參閱本文算術轉換會套用至運算元,結果都是轉換的型別。

乘法運算子所產生第一個運算元乘以第二個的結果。

除法運算子所產生第一個運算元除以第二個的結果。

模數運算子會產生下列的運算式,所給定的其餘部分位置 e1 是第一個運算元以及 e2 是第二個: e1 – (e1 / e2) * e2,其中兩個運算元屬於整數類資料型別。

除以 0 除數或模數運算式中未定義,並使執行階段錯誤。 因此,下列運算式會產生未定義的錯誤結果:

i % 0
f / 0.0

如果兩個運算元乘法、 除法、 或模數運算式具有相同的正負號,則結果為正數。 否則,結果就是負數。 模數運算的正負號的結果是由實作定義。

注意事項注意事項

乘法運算子所執行的轉換不提供溢位或反向溢位情況,因為資訊可能會遺失,如果在轉換後的運算元型別不能表示乘法運算的結果。

Microsoft 專有的

Microsoft C++ 中,模數運算式的結果都是第一個運算元的正負號相同。

結束 Microsoft 特定

如果計算兩個整數的分割位置是不正確,而且只有一個運算元為負數,則結果為確實會產生除法運算的值小於最大的整數 (以大小過於分散,忽視正負號)。 例如,計算的值-11 / 3 是 –3.666666666。 該整數的除法運算的結果為 – 3。

乘法運算子之間的關聯性由所提供的識別 (e1 / e2) * e2 + e1 % e2 = = e1

範例

下列程式會示範乘法運算子。 請注意,其中一個運算元的10 / 3必須明確地轉換成輸入float以避免發生截斷,使兩個運算元的型別float除法運算之前。

// expre_Multiplicative_Operators.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main() {
   int x = 3, y = 6, z = 10;
   cout  << "3 * 6 is " << x * y << endl
         << "6 / 3 is " << y / x << endl
         << "10 % 3 is " << z % x << endl
         << "10 / 3 is " << (float) z / x << endl;
}

請參閱

參考

二元運算子的運算式

C + + 運算子

運算子優先順序和順序關聯性

C 乘法運算子