Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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, , modffmodfl |
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