Maison >développement back-end >C++ >Comment effectuer des opérations de module sur des doubles en C ?

Comment effectuer des opérations de module sur des doubles en C ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-10 18:01:11937parcourir

How to Perform Modulus Operations on Doubles in C  ?

Impossible d'appliquer l'opérateur de module aux doubles

En C, tenter d'utiliser l'opérateur de module (%) avec des opérandes doubles entraîne l'erreur "opérandes invalides des types 'double' et 'double' en binaire 'operator%'." En effet, l'opérateur % est désigné pour les opérations sur les entiers.

Solution : Utiliser la fonction fmod()

Pour effectuer des opérations de module sur des nombres double précision, l'opérateur fmod () de la fonction une bibliothèque peut être utilisée. La fonction fmod() prend deux arguments doubles et renvoie le reste de la division du premier argument par le second.

Exemple de code :

Pour illustrer, voici un version révisée de votre code qui utilise fmod() :

#include <cmath>

int main()
{
    double x = 6.3;
    double y = 2.0;
    double z = std::fmod(x, y);
}

Dans ce code, la fonction fmod() calcule le reste de la division de x par y et stocke le résultat en z. Il convient de noter que la fonction fmod() utilise les mêmes arguments que l'opérateur % mais les ajuste en double précision.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn