C ライブラリ関数 -fmod()
説明
C ライブラリ関数double fmod(double x, double y)返すxで割るyの余り。
fmod()は C 標準ライブラリ<math.h>の1つの関数で、2つの浮動小数点数の除算の余りを計算するために使用されます。この関数は除算操作の余りを返し、その符号は被除数と同じです。
宣言
以下は fmod() 関数の宣言です。
double fmod(double x, double y)
引数
x:被除数、浮動小数点数。y:除数、浮動小数点数。
戻り値
- 返す
xで割るyの余りで、その符号はx同じです。 - もし
yが 0 の場合、結果は未定義となり、計算エラーが発生する可能性があります。
例
以下の例は fmod() 関数の使い方を示しています。
例
#include <stdio.h>
#include <math.h>
int main ()
{
float a, b;
int c;
a = 9.2;
b = 3.7;
c = 2;
printf("%f / %d の余りは %lf\n"\n", a, c, fmod(a,c));
printf("%f / %f の余りは %lf\n"\n", a, b, fmod(a,b));
return(0);
}
#include <math.h>
int main ()
{
float a, b;
int c;
a = 9.2;
b = 3.7;
c = 2;
printf("%f / %d の余りは %lf\n"\n", a, c, fmod(a,c));
printf("%f / %f の余りは %lf\n"\n", a, b, fmod(a,b));
return(0);
}
上記のプログラムをコンパイルして実行すると、次の結果が得られます:
9.200000 / 2 的余数是 1.200000 9.200000 / 3.700000 的余数是 1.800000
複数の値の余り計算を処理する
以下の例は、複数の値の余り計算を処理する方法を示しています:
例
#include <stdio.h>
#include <math.h>
int main() {
double numerators[] = {5.3, 7.1, -4.2, 10.0};
double denominators[] = {2.0, 3.0, 2.5, -3.5};
int num_values = sizeof(numerators) / sizeof(numerators[0]);
for (int i = 0; i < num_values; i++) {
double x = numerators[i];
double y = denominators[i];
double result = fmod(x, y);
printf("fmod(%f, %f) = %f\n", x, y, result);
}
return 0;
}
#include <math.h>
int main() {
double numerators[] = {5.3, 7.1, -4.2, 10.0};
double denominators[] = {2.0, 3.0, 2.5, -3.5};
int num_values = sizeof(numerators) / sizeof(numerators[0]);
for (int i = 0; i < num_values; i++) {
double x = numerators[i];
double y = denominators[i];
double result = fmod(x, y);
printf("fmod(%f, %f) = %f\n", x, y, result);
}
return 0;
}
上記のプログラムをコンパイルして実行すると、次の結果が得られます:
fmod(5.300000, 2.000000) = 1.300000 fmod(7.100000, 3.000000) = 1.100000 fmod(-4.200000, 2.500000) = -1.700000 fmod(10.000000, -3.500000) = 3.000000
コード解説
- 複数の浮動小数点数を含む2つの配列を定義します
numeratorsとdenominators、それぞれ被除数と除数を表します。 - 使用して
for各被除数と除数のペアをループで走査し、呼び出しfmod(x, y)関数で余り計算を行います。 - 各ペアの値の余り計算結果を出力します。
使用シーン
fmod()この関数は多くのアプリケーションで広く使用されており、以下を含みますがこれに限定されません:
- 浮動小数点数の余りを計算し、周期的現象のシミュレーションに使用します。
- 角度の周期的計算などのループ操作を実装します。
- グラフィックスおよびゲームプログラミングで座標変換と境界条件を処理します。
まとめ
fmod()この関数は2つの浮動小数点数の除算の余りを計算するために使用され、浮動小数点数の余り計算を処理する重要なツールです。合理的に使用することでfmod()、科学計算、工学アプリケーション、およびグラフィックスプログラミングにおいて、浮動小数点数の余りの正確な処理を実現できます。