Double の剰余演算: 直接使用できないのはなぜですか?
C では、主に剰余演算子 (%) が使用されます。整数オペランドを含む演算の場合。ただし、以下に示すように 2 つの double 変数に対して % を実行しようとすると、
double x = 6.3; double y = 2; double z = x % y; // Error: invalid operands of types 'double' and 'double' to binary 'operator%'
モジュラス演算のオペランド タイプに互換性がないことを示すエラーが発生する可能性があります。
問題
このエラーの理由は、整数に対する % 演算子の動作の違いに起因します。浮動小数点数。整数の場合、% は左のオペランドを右のオペランドで除算した後の剰余を計算します。ただし、浮動小数点数の % は C では定義されていません。
解決策: fmod() の導入
浮動小数点数の剰余演算を実行するにはC の場合は、 fmod() 関数を使用する必要があります。この関数は
使用例
fmod( の使用方法の例を次に示します。 ) 2 を割った余りを計算しますdoubles:
#include <cmath> // Include the <cmath> header for fmod() int main() { double x = 6.3; double y = 2.0; double z = fmod(x, y); // Usage of fmod() for floating-point modulus calculation }
結論
剰余演算子は double に対して直接使用できませんが、fmod() 関数は浮動小数点に対して剰余演算を実行するための便利な代替手段を提供します。 -ポイント番号を使用すると、プログラミング タスクの残りを効果的に処理できるようになります。
以上がC ではモジュラス演算子 (%) が double に対して直接機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。