frexp
Mantis ve kayan noktalı sayı üs alır.
double frexp(
double x,
int *expptr
);
float frexp(
float x,
int * expptr
); // C++ only
long double frexp(
long double x,
int * expptr
); // C++ only
Parametreler
x
Kayan nokta değeri.expptr
Üs saklı tamsayı için işaretçi.
Dönüş Değeri
frexpMantis döndürür. x 0'dır, işlevi Mantis ve üs değeri için 0 değerini döndürür. expptr Olan NULL, geçersiz parametre işleyicisi açıklandığı şekilde çağrılır Parametre doğrulama. Yürütülmesine devam etmek için izin verilmişse, bu işlevi ayarlar errno için EINVAL ve 0 döndürür.
Notlar
frexp İşlevi sonları kayan noktalı değer (x) bir Mantisin içine (m) ve üs (n), gibi mutlak değerinin m büyük veya eşit 0.5 ve daha az 1.0, ve x = m* 2n. Tamsayı üs n göre sıralanmasını konumunda depolanan expptr.
C++ verir, aşırı, aşırı çağırabileceğiniz şekilde frexp. c programında, frexp her zaman bir çift ve bir tamsayıyı alır ve bir çift verir.
Gereksinimler
İşlev |
Gerekli başlık |
---|---|
frexp |
<math.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// crt_frexp.c
// This program calculates frexp( 16.4, &n )
// then displays y and n.
#include <math.h>
#include <stdio.h>
int main( void )
{
double x, y;
int n;
x = 16.4;
y = frexp( x, &n );
printf( "frexp( %f, &n ) = %f, n = %d\n", x, y, n );
}
.NET Framework Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.