倍精度値と剰余演算
プログラミングでは、剰余演算子 (%) は、ある数値を別の数値で除算したときの剰余を計算します。ただし、C では、2 つの倍精度浮動小数点数 (double) に剰余演算を適用しようとすると、エラーが発生します。
次のコードは、この問題を示しています。
int main() { double x = 6.3; double y = 2; double z = x % y; }
コンパイル時に、このコードはエラーを生成します:
error: invalid operands of types 'double' and 'double' to binary 'operator%'
このエラーは、モジュラス演算子が整数に対してのみ定義されているために発生します。オペランド。 double の場合、同等の関数は fmod() です。 double 値でモジュラス演算を使用するには、次のように fmod() を使用します。
#include <cmath> int main() { double x = 6.3; double y = 2.0; double z = std::fmod(x, y); }
以上がモジュラス演算子が C の double で機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。