modf, modff
Kayan nokta değeri kesirli içine ve tamsayı bölümü böler.
double modf(
double x,
double *intptr
);
float modf(
float x,
float *intptr
); // C++ only
long double modf(
long double x,
long double * intptr
); // C++ only
float modff(
float x,
float *intptr
);
Parametreler
x
Kayan nokta değeri.intptr
Saklı tamsayı için işaretçi.
Dönüş Değeri
Bu işlev imzalı kesirli kısmını verir x. Döndürülen hata var.
Notlar
modf İşlevi sonları kayan nokta değeri x kesirli içine ve tamsayı bölümleri, her biri aynı işarete sahip x. İmzalı kesirli kısmını x döndürülür. Tamsayı bölümü bir kayan nokta değeri olarak depolanır IntPtr.
modfStreaming SIMD Extensions 2 (SSE2) kullanan bir uygulama var. Bkz: _set_SSE2_enable bilgi ve SSE2 uygulamasını kullanarak kısıtlamaları.
C++ verir, aşırı, aşırı çağırabileceğiniz şekilde modf. c programında, modf her zaman iki çift değerleri alır ve çift bir değer döndürür.
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
modf, modff |
<math.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Kitaplıkları
Tüm sürümleri c çalışma zamanı kitaplıkları.
Ö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 );
}
Çıktı
For -14.876543, the fraction is -0.876543 and the integer is -14