Fonctions de la bibliothèque C -fmod()

Bibliothèque standard C - <math.h>

Description

Fonctions de la bibliothèque Cdouble fmod(double x, double y)retournexdivisé paryle reste.

fmod()est la bibliothèque standard C<math.h>une fonction utilisée pour calculer le reste de la division de deux nombres à virgule flottante. Cette fonction renvoie le reste de l'opération de division, avec le même signe que le dividende.

Déclaration

Ci-dessous se trouve la déclaration de la fonction fmod().

double fmod(double x, double y)

Paramètre

  • x: dividende, un nombre à virgule flottante.
  • y: diviseur, un nombre à virgule flottante.

Valeur de retour

  • returnxdivisé paryle reste de, dont le signe estxIdem.
  • ifyest 0, le résultat est indéfini et peut produire une erreur de calcul.

Exemple

L'exemple suivant montre l'utilisation de la fonction fmod().

Exemple

#include <stdio.h>
#include <math.h>

int main ()
{
   float a, b;
   int c;
   a = 9.2;
   b = 3.7;
   c = 2;
   printf("%f / %d remainder is %lf\n", a, c, fmod(a,c));
   printf("%f / %f remainder is %lf\n", a, b, fmod(a,b));
   
   return(0);
}

Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :

9.200000 / 2 的余数是 1.200000
9.200000 / 3.700000 的余数是 1.800000

Calcul du reste pour plusieurs valeurs

L'exemple suivant montre comment gérer les calculs de reste pour plusieurs valeurs :

Exemple

#include <stdio.h>
#include <math.h>

int main() {
    double numerators[] = {5.3, 7.1, -4.2, 10.0};
    double denominators[] = {2.0, 3.0, 2.5, -3.5};
    int num_values = sizeof(numerators) / sizeof(numerators[0]);

    for (int i = 0; i < num_values; i++) {
        double x = numerators[i];
        double y = denominators[i];
        double result = fmod(x, y);

        printf("fmod(%f, %f) = %f\n", x, y, result);
    }

    return 0;
}

Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :

fmod(5.300000, 2.000000) = 1.300000
fmod(7.100000, 3.000000) = 1.100000
fmod(-4.200000, 2.500000) = -1.700000
fmod(10.000000, -3.500000) = 3.000000

Explication du code

  • Définir deux tableaux contenant plusieurs nombres à virgule flottantenumeratorsetdenominators, représentant respectivement le dividende et le diviseur.
  • UtilisationforParcourir chaque paire de dividende et de diviseur, en appelantfmod(x, y)la fonction effectue le calcul du reste.
  • Affiche le résultat du calcul du reste pour chaque paire de valeurs.

Cas d'utilisation

fmod()La fonction a un large éventail d'applications dans de nombreux domaines, y compris, mais sans s'y limiter :

  • Calculer le reste de nombres à virgule flottante pour simuler des phénomènes périodiques.
  • Implémenter des opérations cycliques, telles que des calculs périodiques d'angles.
  • Gérer les transformations de coordonnées et les conditions aux limites dans la programmation graphique et de jeux.

Résumé

fmod()La fonction est utilisée pour calculer le reste de la division de deux nombres à virgule flottante, ce qui en fait un outil important pour gérer les calculs de reste en virgule flottante. Grâce à une utilisation appropriée defmod(), une gestion précise des restes de nombres à virgule flottante peut être obtenue dans le calcul scientifique, les applications d'ingénierie et la programmation graphique.

Bibliothèque standard C - <math.h>

autres extensions