Aracılığıyla paylaş


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.

Ayrıca bkz.

Başvuru

Kayan nokta türü desteği

ldexp

modf, modff