C ++ frexp () - C ++ Τυπική βιβλιοθήκη

Η συνάρτηση frexp () στο C ++ σπάζει έναν αριθμό κινούμενου σημείου στη δυαδική του έννοια.

Η δυαδική έννοια είναι ένα κυμαινόμενο σημείο του οποίου η απόλυτη τιμή (mantissa) βρίσκεται στο διάστημα (0,5, 1) και ένας ακέραιος εκθέτης για 2.

Η συνάρτηση ορίζεται στο αρχείο κεφαλίδας.

Μαθηματικά,

x = Δυαδική έννοια * 2 εκθετική

όπου, ο εκθέτης αποθηκεύεται στην τοποθεσία που δείχνει το exp και η δυαδική έννοια είναι η τιμή που επιστρέφεται από το frexp ().

πρωτότυπο frexp () (από το πρότυπο C ++ 11)

διπλό frexp (διπλό x, int * exp); float frexp (float x, int * exp); long double frexp (long double x, int * exp); διπλό frexp (T x, int * exp); // Για ακέραιο τύπο

Η συνάρτηση frexp () παίρνει δύο ορίσματα και επιστρέφει την τιμή δυαδικής σημασίας του τύπου double, floatή long double.

frexp () Παράμετροι

  • x - Η τιμή που πρέπει να αποσυντεθεί.
  • exp - Ο δείκτης σε ακέραιο αριθμό όπου θα αποθηκευτεί η τιμή του εκθέτη.

frexp () Επιστροφή τιμή

Η συνάρτηση frexp () επιστρέφει το δυαδικό σήμα του οποίου η απόλυτη τιμή βρίσκεται στο διάστημα (0,5, 1). Εάν το x είναι μηδέν, τόσο το σημαντικό όσο και το εκθετικό είναι μηδέν.

τιμές επιστροφής frexp ()
Παράμετρος (x) Δυαδικό σήμα Εκθέτης
0 0 0
x> = 1 Θετικός Θετικός
x <= -1 Αρνητικός Θετικός
-1 <x <0 Αρνητικός Αρνητικός
0 <x <1 Θετικός Αρνητικός

Παράδειγμα 1: Πώς λειτουργεί η λειτουργία frexp () στο 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; ) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 6,81 = 0,85125 * 2 3 

Παράδειγμα 2: συνάρτηση frexp () με ακέραιο τύπο

 #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; ) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 25 = 0,78125 * 2 5 

ενδιαφέροντα άρθρα...