modf
, modff
modfl
Teilt einen Gleitkommawert in Nachkommastellen und ganze Zahlen.
Syntax
double modf( double x, double * intptr );
float modff( float x, float * intptr );
long double modfl( long double x, long double * intptr );
float modf( float x, float * intptr ); // C++ only
long double modf( long double x, long double * intptr ); // C++ only
Parameter
x
Gleitkommawert.
intptr
Zeiger auf gespeicherten Ganzzahlbereich.
Rückgabewert
Diese Funktion gibt den signierten Bruchteil von x
. Es gibt keine Fehlerrückgabe.
Hinweise
Die Funktionen modf
teilen den Gleitkommawert x
in Nachkommastellen und ganze Zahlen, die alle die gleichen Vorzeichen wie x
haben. Der Bruchteil von x
mit Vorzeichen wird zurückgegeben. Der ganzzahlige Teil wird als Gleitkommawert bei intptr
.
modf
ist eine Implementierung, die SIMD-Streamingerweiterungen 2 (SSE2) verwendet. Informationen und Einschränkungen bei der Verwendung der SSE2-Implementierung finden Sie _set_SSE2_enable
unter .
Da C++ das Überladen zulässt, können Sie Überladungen von modf
aufrufen, die Parameter für float
oder long double
verwenden und zurückgeben. In einem C-Programm verwendet modf
immer zwei double-Werte und gibt einen double-Wert zurück.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Routine | Erforderlicher Header |
---|---|
modf , modff modfl |
C: <math.h> C++: , <cmath> oder <math.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_modf.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x, y, n;
x = -14.87654321; /* Divide x into its fractional */
y = modf( x, &n ); /* and integer parts */
printf( "For %f, the fraction is %f and the integer is %.f\n",
x, y, n );
}
For -14.876543, the fraction is -0.876543 and the integer is -14
Siehe auch
Mathematische Unterstützung und Gleitkommaunterstützung
frexp
ldexp