C-Bibliotheksfunktionen -modf()

C-Standardbibliothek - <math.h>

Beschreibung

C-Bibliotheksfunktionendouble modf(double x, double *integer)Der Rückgabewert ist der Bruchteil (der Teil nach dem Dezimalpunkt) und setzt integer als den ganzzahligen Teil.

modf()ist die C-Standardbibliothek<math.h>eine Funktion, die verwendet wird, um eine Gleitkommazahl in einen ganzzahligen Teil und einen Bruchteil zu zerlegen. Sie wird oft in Szenarien verwendet, in denen eine Gleitkommazahl in ganzzahlige und gebrochene Teile getrennt werden muss.

Deklaration

Das Folgende ist die Deklaration der modf()-Funktion.

#include <math.h>

double modf(double x, double *iptr);
float modff(float x, float *iptr);
long double modfl(long double x, long double *iptr);

Parameter

  • x-- Gleitkommawert.
  • integer-- ein Zeiger auf ein Objekt, das den ganzzahligen Teil speichert.

Rückgabewert

Die Funktion gibt den Bruchteil von x mit demselben Vorzeichen wie x zurück.

Beispiel

Das folgende Beispiel demonstriert die Verwendung der Funktion modf().

Beispiel

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

int main ()
{
   double x, fractpart, intpart;

   x = 8.123456;
   fractpart = modf(x, &intpart);

   printf("Ganzzahliger Teil = %lf\n", intpart);
   printf("Bruchteil = %lf\n", fractpart);
   
   return(0);
}

Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:

整数部分 = 8.000000
小数部分 = 0.123456 

Umgang mit der Zerlegung mehrerer Werte

Das folgende Beispiel zeigt, wie die Zerlegung mehrerer Gleitkommazahlen gehandhabt wird:

Beispiel

#include <stdio.h>
#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("Originalwert: %f\n", x);
        printf("Ganzzahlanteil: %f\n", intpart);
        printf("Bruchteil: %f\n", fracpart);
        printf("\n");
    }

    return 0;
}

Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:

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

Code-Erklärung

  • Definieren Sie ein Array, das mehrere Gleitkommazahlen enthältvalues。
  • NutzungforDurchlaufen Sie jeden Wert und rufen Siemodf(x, &intpart)Führe die Zerlegung durch.
  • Gib den Originalwert, den Ganzzahlanteil und den Bruchteil jedes Werts aus.

Anwendungsfall

modf()Die Funktion findet in vielen Anwendungen breite Verwendung, einschließlich, aber nicht beschränkt auf:

  • Trennung des Ganzzahl- und des Bruchteils einer Gleitkommazahl zur individuellen Verarbeitung.
  • Szenarien in Berechnungen, bei denen der Ganzzahlanteil und der Bruchteil getrennt verarbeitet werden müssen.
  • Szenarien im wissenschaftlichen Rechnen und in der numerischen Analyse, die eine präzise Verarbeitung des Nachkommateils erfordern. Szenarien im wissenschaftlichen Rechnen und in der numerischen Analyse, die eine präzise Verarbeitung des Bruchteils erfordern.

Hinweise

  • modf()Wenn die Funktion positive und negative Zahlen verarbeitet, bleiben die Vorzeichen des Ganzzahlanteils und des Bruchteils konsistent. Zum Beispiel ist für -123.456 der Ganzzahlanteil -123.0 und der Bruchteil -0.456.

Zusammenfassung

modf()Die Funktion wird verwendet, um eine Gleitkommazahl in einen Ganzzahlanteil und einen Bruchteil zu zerlegen, was sie zu einem wichtigen Werkzeug für die Behandlung von Gleitkommaarithmetik macht. Durch sinnvollen Einsatzmodf()Es ist möglich, eine präzise Zerlegung von Gleitkommazahlen im wissenschaftlichen Rechnen, in der numerischen Analyse und in technischen Anwendungen zu erreichen und die getrennte Verarbeitung des Ganzzahl- und des Bruchteils sicherzustellen.

C-Standardbibliothek - <math.h>

Weitere Erweiterungen