Aracılığıyla paylaş


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

.NET Framework Eşdeğeri

Ayrıca bkz.

Başvuru

Kayan nokta türü desteği

Uzun çift

frexp

ldexp