共用方式為


C 乘法運算子

乘法運算子會執行乘法 (*),除法 (/),以及其他部分 (%) 作業。

語法

  • 乘法運算式
    轉型運算式

    乘法運算式***** 轉型運算式

    乘法運算式**/** 轉型運算式

    乘法運算式**%** 轉型運算式

餘數運算子的運算元 (%) 必須是整數類資料。 乘法運算 (*) 和除法 (/) 運算子可以使用整數類資料型或浮動別的運算元。 運算元型別可能會不同。

乘法運算子會在運算元上執行一般的算數轉換。 結果的型別是在轉換後的運算元型別。

注意事項注意事項

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

C 的乘法運算子如下所示:

運算子

描述

*

乘法運算子會導致兩個運算元的乘積。

/

除法運算子會導致第一個運算元除以第二個。 如果兩個整數運算元會分割,且結果不是整數,則會截斷下列規則:

 

  • 除以 0 的結果是根據為 ANSI C 標準未定義。 Microsoft c 編譯器會產生編譯時期或執行的階段錯誤。

 

  • 如果兩個運算元是正的或不帶正負號,向 0 截斷結果。

 

  • 如果其中一個運算元是負值,運算的結果的最大整數小於或等於代數商是否為最小整數的值大於或等於代數商數是實作定義。 (請參閱下列 Microsoft 特定一節)。

%

餘數運算子的結果時第一個運算元除以第二個其餘部分。 不正確的除法運算時,下列規則來決定結果:

 

  • 如果右邊的運算元都是零,結果是未定義。

 

  • 如果兩個運算元是正的或不帶正負號,則結果為正數。

 

  • 如果其中一個運算元為負數,結果就是不正確,則結果為所定義的實作。 (請參閱下列 Microsoft 特定一節)。

Microsoft 專有的

其中任一個運算元是負的子公司,截斷的方向將趨向於 0。

如果任一項操作是負數除以餘數運算子,結果將會有相同的符號,如股利 (在運算式中的第一個運算元)。

結束 Microsoft 特定

範例

下列範例使用如下所示的宣告:

int i = 10, j = 3, n;
double x = 2.0, y;

此陳述式會使用乘法運算子:

y = x * i;

如此一來, x乘以i ,讓 20.0 的值。 結果將會有型別。

n = i / j;

在這個範例中,10 除以 3。 0,產生的整數值 3 附近截斷結果。

n = i % j;

此陳述式會指派n整數餘數,1、 10 除以 3 時。

Microsoft 專有的

正負號的其餘部分等同於被除數的正負號。 例如:

50 % -6 = 2
-50 % 6 = -2

在每個案例中, 50和2有相同的正負號。

結束 Microsoft 特定

請參閱

參考

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