次の方法で共有


C の乗算演算子

乗算演算子 ()* は乗算除算 ( または )および ()% 剰余演算を実行します。

構文

  • 乗算式 :
    キャスト式

    乗算式の *キャスト式

    乗算式の またはキャスト式

    乗算式の %キャスト式

剰余演算子 ()% のオペランドが必要である必要があります。()* 乗算除算 または () 演算子はまたはフローティング型のオペランドを受け取ることができます。; オペランドの型が異なります。

乗算演算子はオペランドの通常の算術変換を実行します。結果の型は変換後のオペランドの型です。

[!メモ]

乗算演算子で実行される変換がオーバーフローまたはアンダーフローがないため情報演算結果が変換後のオペランドの型で表すことができない場合は失われる可能性があります。

C の乗算演算子について説明します。:

[演算子]

Description

*

乗算演算子は2 種類のオペランドが向上します。

/

除算演算子は1 番目のオペランドが 2 番に分割されます。2 個の整数のオペランドで除算し結果が整数でない場合は次の規則に従って結果 :

 

  • 0 による除算の結果はANSI C 規格 15 に従って未定義です。Microsoft C コンパイラはコンパイル時または実行時にエラーが発生します。

 

  • 両方のオペランドが正または符号なしである場合結果は 0 方向に切り捨てられます。

 

  • 両方のオペランドが負の場合演算の結果は代数商と以下の最大の整数またはであるより大きい最小の整数であるかまたは代数商以上の実装が定義されているかどうか。(Microsoft 次のセクションを参照してください)。

%

剰余演算子の結果は 1 番目のオペランドが 2 番で除算したときの剰余です。部分が正しくないと結果は次の規則によって決定されます :

 

  • 右オペランドがの場合結果は未定義になります。

 

  • 両方のオペランドが正または符号なしである場合結果は正の数です。

 

  • 両方のオペランドがの値であり結果が正しくない場合結果は定義する実装です。(Microsoft 次のセクションを参照してください)。

Microsoft 固有の仕様 →

どちらのオペランドも負の除算では切り捨ての方向は 0 方向にあります。

どちらの操作が剰余演算子で除算など負の場合結果は被除数 (式の 1 番目のオペランドと同じ) 符号があります。

終了 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;

このステートメントは10 が 3. で除算したときにn 整数の剰余1 が代入されます。

Microsoft 固有の仕様 →

残りの符号は被除数の符号と同じです。次に例を示します。

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

どちらの場合も50 と 2 に同じ記号があります。

終了 Microsoft 固有の仕様→

参照

関連項目

乗算演算子: *、/、および %