C ++ frexp () - C ++ standarta bibliotēka

C ++ funkcija frexp () sadala peldošā komata skaitli tā binārajā nozīmē.

Binārais nozīmes apzīmējums ir peldošs punkts, kura absolūtā vērtība (mantissa) atrodas intervālā (0,5, 1) un veselā skaitļa eksponentā 2.

Funkcija ir definēta galvenes failā.

Matemātiski,

x = binārs nozīmes * 2 eksponents

kur eksponents tiek glabāts vietā, uz kuru norāda exp, un binārais apzīmējums ir frexp () atgrieztā vērtība.

frexp () prototips (pēc standarta C ++ 11)

dubultā frexp (double x, int * exp); float frexp (pludiņš x, int * exp); long double frexp (garš dubultā x, int * exp); dubultā frexp (T x, int * exp); // Neatņemamajam tipam

Frexp () funkcija aizņem divus argumentus un atgriež bināro significand vērtību tipu double, floatvai long double.

frexp () parametri

  • x - sadalāmā vērtība.
  • exp - rādītājs uz veselu skaitli, kur jāsaglabā eksponenta vērtība.

frexp () Atgriešanās vērtība

Funkcija frexp () atgriež bināro nozīmes zīmi, kuras absolūtā vērtība atrodas intervālā (0,5, 1). Ja x ir nulle, gan nozīmes, gan eksponents ir nulle.

frexp () atgriešanās vērtības
Parametrs (x) Binārais nozīmīgums Eksponents
0 0 0
x> = 1 Pozitīvi Pozitīvi
x <= -1 Negatīvs Pozitīvi
-1 <x <0 Negatīvs Negatīvs
0 <x <1 Pozitīvi Negatīvs

1. piemērs: Kā funkcija frexp () darbojas 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; ) 

Palaidot programmu, izeja būs:

 6,81 = 0,85125 * 2 3 

2. piemērs: funkcija frexp () ar integrālo tipu

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

Palaidot programmu, izeja būs:

 25 = 0,78125 * 2 5 

Interesanti raksti...