Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kayan nokta değerini kesirli ve tamsayı bölümlerine böler.
Sözdizimi
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
Parametreler
x
Kayan nokta değeri.
intptr
Depolanan tamsayı kısmının işaretçisi.
Dönüş değeri
Bu işlev, öğesinin imzalı kesirli bölümünü xdöndürür. Hata döndürme yok.
Açıklamalar
İşlevler modf kayan nokta değerini x kesirli ve tamsayı parçalarına ayırır ve bunların her biri ile aynı işarete xsahiptir. öğesinin imzalı kesirli bölümü x döndürülür. Tamsayı bölümü konumunda kayan nokta değeri intptrolarak depolanır.
modf , Streaming SIMD Extensions 2 (SSE2) kullanan bir uygulamaya sahiptir. SSE2 uygulamasını kullanma hakkında bilgi ve kısıtlamalar için bkz _set_SSE2_enable .
C++ aşırı yüklemeye izin verir, böylece bu alma ve döndürme modf veya float parametrelerin long double aşırı yüklemelerini çağırabilirsiniz. C programında her modf zaman iki çift değer alır ve bir çift değer döndürür.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
| Yordam | Gerekli başlık |
|---|---|
modf, modff, modfl |
C: <math.h>C++: <cmath> veya <math.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// 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