C ++ frexp () - Perpustakaan Standard C ++

Fungsi frexp () dalam C ++ memecahkan nombor titik terapung ke dalam makna binari.

Nilai perduaan adalah titik terapung yang nilai mutlaknya (mantissa) terletak pada selang (0.5, 1) dan eksponen integer untuk 2.

Fungsi ditentukan dalam fail header.

Secara matematik,

x = Nilai perduaan * 2 eksponen

di mana, eksponen disimpan di lokasi yang ditunjukkan oleh exp dan makna Binary adalah nilai yang dikembalikan oleh frexp ().

prototaip frexp () (Seperti standard C ++ 11)

double frexp (double x, int * exp); float frexp (float x, int * exp); frexp berganda panjang (x panjang ganda, int * exp); frexp berganda (T x, int * exp); // Untuk jenis kamiran

Fungsi frexp () mengambil dua argumen dan mengembalikan nilai makna binari jenis double, floatatau long double.

frexp () Parameter

  • x - Nilai yang akan diuraikan.
  • exp - Penunjuk ke integer di mana nilai eksponen akan disimpan.

frexp () Nilai pulangan

Fungsi frexp () mengembalikan makna binari yang nilai mutlaknya terletak pada selang waktu (0.5, 1). Sekiranya x adalah sifar, kedua signifikan dan eksponen adalah sifar.

nilai pulangan frexp ()
Parameter (x) Penting Perduaan Eksponen
0 0 0
x> = 1 Positif Positif
x <= -1 Negatif Positif
-1 <x <0 Negatif Negatif
0 <x <1 Positif Negatif

Contoh 1: Bagaimana fungsi frexp () berfungsi di C ++?

 #include #include using namespace std; int main () ( double x = 6.81, significand; int *exp; significand = frexp(x , exp); cout << x << " = " << significand << " * 2^" << *exp << endl; return 0; ) 

Semasa anda menjalankan program, outputnya adalah:

 6.81 = 0.85125 * 2 3 

Contoh 2: fungsi frexp () dengan jenis kamiran

 #include #include using namespace std; int main () ( double significand; int *exp, x = 25; significand = frexp (x , exp); cout << x << " = " << significand << " * 2^" << *exp << endl; return 0; ) 

Semasa anda menjalankan program, outputnya adalah:

 25 = 0.78125 * 2 5 

Artikel menarik...