Fonctions de la bibliothèque C -modf()
Bibliothèque standard C - <math.h>
Description
Fonctions de la bibliothèque Cdouble modf(double x, double *integer)La valeur de retour est la partie fractionnaire (la partie après le point décimal), et définit integer comme la partie entière.
modf()est la bibliothèque standard C<math.h>une fonction utilisée pour décomposer un nombre à virgule flottante en une partie entière et une partie fractionnaire. Elle est souvent utilisée dans les scénarios où un nombre à virgule flottante doit être séparé en parties entière et fractionnaire.
Déclaration
Voici la déclaration de la fonction modf().
#include <math.h> double modf(double x, double *iptr); float modff(float x, float *iptr); long double modfl(long double x, long double *iptr);
Paramètre
- x-- valeur à virgule flottante.
- integer-- un pointeur vers un objet qui stocke la partie entière.
Valeur de retour
La fonction renvoie la partie fractionnaire de x, avec le même signe que x.
Exemple
L'exemple suivant montre l'utilisation de la fonction modf().
Exemple
#include<math.h>
int main ()
{
double x, fractpart, intpart;
x = 8.123456;
fractpart = modf(x, &intpart);
printf("Partie entière = %lf\n", intpart);
printf("Partie fractionnaire = %lf\n", fractpart);
return(0);
}
Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :
整数部分 = 8.000000 小数部分 = 0.123456
Gestion de la décomposition de plusieurs valeurs
L'exemple suivant montre comment gérer la décomposition de plusieurs nombres à virgule flottante :
Exemple
#include <math.h>
int main() {
double values[] = {123.456, -123.456, 0.0, 1.0, -1.0};
int num_values = sizeof(values) / sizeof(values[0]);
for (int i = 0; i < num_values; i++) {
double x = values[i];
double intpart;
double fracpart;
fracpart = modf(x, &intpart);
printf("Valeur d'origine : %f\n", x);
printf("Partie entière : %f\n", intpart);
printf("Partie fractionnaire : %f\n", fracpart);
printf("\n");
}
return 0;
}
Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :
Original value: 123.456000 Integer part: 123.000000 Fractional part: 0.456000 Original value: -123.456000 Integer part: -123.000000 Fractional part: -0.456000 Original value: 0.000000 Integer part: 0.000000 Fractional part: 0.000000 Original value: 1.000000 Integer part: 1.000000 Fractional part: 0.000000 Original value: -1.000000 Integer part: -1.000000 Fractional part: -0.000000
Explication du code
- Définissez un tableau contenant plusieurs nombres à virgule flottante
values。 - Utilisation
forParcourez chaque valeur et appelezmodf(x, &intpart)Effectuer la décomposition. - Afficher la valeur d'origine, la partie entière et la partie fractionnaire de chaque valeur.
Cas d'utilisation
modf()La fonction a un large éventail d'usages dans de nombreuses applications, y compris, mais sans s'y limiter :
- Séparer les parties entière et fractionnaire d'un nombre à virgule flottante pour un traitement individuel.
- Scénarios de calcul où la partie entière et la partie fractionnaire doivent être traitées séparément.
- Scénarios en calcul scientifique et analyse numérique nécessitant un traitement précis de la partie décimale. Scénarios de calcul scientifique et d'analyse numérique qui nécessitent un traitement précis de la partie fractionnaire.
Notes
modf()Lorsque la fonction traite des nombres positifs et négatifs, les signes de la partie entière et de la partie fractionnaire restent cohérents. Par exemple, pour -123.456, la partie entière est -123.0 et la partie fractionnaire est -0.456.
Résumé
modf()La fonction est utilisée pour décomposer un nombre à virgule flottante en une partie entière et une partie fractionnaire, ce qui en fait un outil important pour gérer l'arithmétique à virgule flottante. Grâce à une utilisation rationnellemodf()Il est possible d'obtenir une décomposition précise des nombres à virgule flottante en calcul scientifique, en analyse numérique et dans les applications d'ingénierie, et de garantir un traitement séparé des parties entière et fractionnaire.