この記事では、C言語でmod演算子の代替方法を紹介します。
剰余算を行うためのいくつかの方法を学び、それぞれの方法の使い方と実行結果を確認することができます。
初心者の方にもわかりやすく解説していきますので、ぜひ参考にしてください。
mod演算子の代替方法
C言語には、剰余算を行うためのmod演算子が存在しません。
しかし、代替方法を使うことで剰余算を実現することができます。
以下では、いくつかの代替方法を紹介します。
%演算子を使う方法
C言語には、剰余算を行うための%演算子があります。
この演算子を使うことで、簡単に剰余算を行うことができます。
#include <stdio.h>
int main() {
int dividend = 10;
int divisor = 3;
int remainder = dividend % divisor;
printf("剰余算の結果: %d\n", remainder);
return 0;
}
上記のコードでは、10を3で割った余りを求めています。
%演算子を使うことで、剰余算を簡単に行うことができます。
実行結果
剰余算の結果: 1
fmod関数を使う方法
C言語の数学ライブラリには、剰余算を行うためのfmod関数
があります。
この関数を使うことで、浮動小数点数の剰余算を行うことができます。
#include <stdio.h>
#include <math.h>
int main() {
double dividend = 10.5;
double divisor = 3.2;
double remainder = fmod(dividend, divisor);
printf("剰余算の結果: %f\n", remainder);
return 0;
}
上記のコードでは、10.5を3.2で割った余りを求めています。
fmod関数
を使うことで、浮動小数点数の剰余算を行うことができます。
実行結果
剰余算の結果: 0.900000
割り算と掛け算を組み合わせる方法
剰余算を行うための別の方法は、割り算と掛け算を組み合わせる方法です。
具体的には、割り算の商を求めてから、商と除数を掛け算することで剰余を求めます。
#include <stdio.h>
int main() {
int dividend = 10;
int divisor = 3;
int quotient = dividend / divisor;
int remainder = dividend - (quotient * divisor);
printf("剰余算の結果: %d\n", remainder);
return 0;
}
上記のコードでは、10を3で割った余りを求めています。
割り算の商を求めてから、商と除数を掛け算することで剰余を求めることができます。
実行結果
剰余算の結果: 1
割り算と掛け算を使った剰余算のアルゴリズム
剰余算を行うための別のアルゴリズムは、割り算と掛け算を使った方法です。
具体的には、割り算の商を求めてから、商と除数を掛け算し、元の値から引いていくことで剰余を求めます。
#include <stdio.h>
int main() {
int dividend = 10;
int divisor = 3;
int remainder = dividend;
while (remainder >= divisor) {
remainder -= divisor;
}
printf("剰余算の結果: %d\n", remainder);
return 0;
}
上記のコードでは、10を3で割った余りを求めています。
割り算の商を求めてから、商と除数を掛け算し、元の値から引いていくことで剰余を求めることができます。
実行結果
剰余算の結果: 1
以上が、C言語でmod演算子の代替方法を紹介したものです。
それぞれの方法を使って剰余算を行うことができますので、目的に応じて適切な方法を選択してください。