Modulus-Operator kann nicht auf Doubles angewendet werden
In C führt der Versuch, den Modulus-Operator (%) mit Double-Operanden zu verwenden, zu einem Fehler „Ungültige Operanden der Typen ‚double‘ und ‚double‘ zu binär ‚operator%‘.“ Dies liegt daran, dass der %-Operator für ganzzahlige Operationen vorgesehen ist.
Lösung: Verwendung der fmod()-Funktion
Um Moduloperationen für Zahlen mit doppelter Genauigkeit durchzuführen, ist der fmod ()-Funktion aus der
Codebeispiel:
Zur Veranschaulichung hier ein überarbeitete Version Ihres Codes, der fmod() verwendet:
#include <cmath> int main() { double x = 6.3; double y = 2.0; double z = std::fmod(x, y); }
In diesem Code berechnet die Funktion fmod() den Rest der Division von x durch y und speichert das Ergebnis in z. Es ist erwähnenswert, dass die fmod()-Funktion dieselben Argumente wie der %-Operator verwendet, sie jedoch auf doppelte Genauigkeit anpasst.
Das obige ist der detaillierte Inhalt vonWie führe ich Moduloperationen für Doubles in C durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!