Bagikan melalui


modf, modff, modfl

Membagi nilai floating-point menjadi bagian pecahan dan bilangan bulat.

Sintaks

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
Nilai floating-point.

intptr
Penunjuk ke bagian bilangan bulat tersimpan.

Nilai hasil

Fungsi ini mengembalikan bagian pecahan yang ditandatangani dari x. Tidak ada pengembalian kesalahan.

Keterangan

Fungsi memecah modf nilai x floating-point menjadi bagian pecahan dan bilangan bulat, yang masing-masing memiliki tanda yang sama dengan x. Bagian pecahan x yang ditandatangani dikembalikan. Bagian bilangan bulat disimpan sebagai nilai floating-point di intptr.

modf memiliki implementasi yang menggunakan Streaming SIMD Extensions 2 (SSE2). Lihat _set_SSE2_enable untuk informasi dan batasan penggunaan implementasi SSE2.

C++ memungkinkan kelebihan beban, sehingga Anda dapat memanggil kelebihan beban modf yang mengambil dan mengembalikan float atau long double parameter. Dalam program C, modf selalu mengambil dua nilai ganda dan mengembalikan nilai ganda.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Persyaratan

Rutin Header yang diperlukan
modf, modff, modfl C: <math.h>

C++: , <cmath> atau <math.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

// 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

Baca juga

Dukungan matematika dan titik mengambang
frexp
ldexp