ホームページ  >  記事  >  バックエンド開発  >  C++の剰余関数の詳しい解説

C++の剰余関数の詳しい解説

WBOY
WBOYオリジナル
2023-11-18 14:41:084263ブラウズ

C++の剰余関数の詳しい解説

C の剰余関数の詳細説明

C では、剰余演算子 (%) を使用して、2 つの数値を除算した余りを計算します。これは、オペランドが任意の整数型 (char、short、int、long など) または浮動小数点数型 (float、double など) になる二項演算子です。剰余演算子は、被除数と同じ符号の結果を返します。

たとえば、整数の剰余演算の場合、次のコードを使用して実装できます。

int a = 10;
int b = 3;
int c = a % b; // c的值为1

上記のコードでは、変数 a が変数 b で除算され、剰余は次のようになります。 1、変数cに代入します。浮動小数点数を使用して剰余演算を実行することもできます。コードは次のとおりです:

float m = 10.5;
float n = 3.2;
float p = fmod(m, n); // p的值为1.3

この例では、cmath ヘッダー ファイルで fmod 関数を使用して、浮動小数点数 m を除算した剰余を計算します。 nによる。 fmod 関数の戻り値も浮動小数点数型です。

剰余演算子と fmod 関数の使用に加えて、C には、剰余関数や modf 関数など、剰余を計算するための関数もいくつか用意されています。剰余関数のプロトタイプは次のとおりです。

double remainder(double x, double y);
float remainder(float x, float y);
long double remainder(long double x, long double y);

この関数は、除算 x/y の剰余を返します。 fmod 関数とは異なり、remaind 関数によって返される剰余は被除数と同じ符号を持ちます。たとえば、次のコードは、剰余関数の使用法を示しています。

double x = 10.5;
double y = -3.2;
double r = remainder(x, y); // r的值为1.3

この例では、浮動小数点数 x を浮動小数点数 y で除算し、剰余関数を使用してその剰余を計算します。結果は 1.3 です。

剰余を計算するためによく使用されるもう 1 つの関数は modf 関数です。これは、浮動小数点数を整数部分と小数部分に分解するために使用されます。 modf 関数のプロトタイプは次のとおりです。

double modf(double x, double* intpart);
float modf(float x, float* intpart);
long double modf(long double x, long double* intpart);

この関数の最初のパラメータは分解される浮動小数点数で、2 番目のパラメータは double/float/long double 型へのポインタです。整数部分を格納します。 modf 関数は、浮動小数点数 x の小数部分を返します。以下は例です。

double num = 3.14;
double intpart;
double fracpart = modf(num, &intpart); // intpart的值为3.0, fracpart的值为0.14

この例では、浮動小数点数 num を整数部と小数部に分解し、分解された値をそれぞれ intpart 変数と fracpart 変数に格納します。

要約すると、C には、浮動小数点数の剰余を計算したり関数を分解したりするためのさまざまなメソッドが用意されています。整数であっても浮動小数点数であっても、これらの関数を通じて、関連する計算タスクを C で簡単に完了できます。

以上がC++の剰余関数の詳しい解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。