Ц ++ фрекп () - Ц ++ стандардна библиотека

Функција фрекп () у Ц ++ разбија број са покретном тачком у свој бинарни знак.

Бинарни знак је покретна тачка чија се апсолутна вредност (мантиса) налази у интервалу (0,5, 1) и целобројни експонент за 2.

Функција је дефинисана у датотеци заглавља.

Математички,

к = бинарни значај и * 2 експонента

где се експонент чува на месту на које указује екп, а бинарни знак је вредност коју враћа фрекп ().

прототип фрекп () (од стандарда Ц ++ 11)

двоструки фрекп (дупли к, инт * екп); флоат фрекп (флоат к, инт * екп); дуги дупли фрекп (дуги двоструки к, инт * екп); двоструки фрекп (Т к, инт * екп); // За интегрални тип

Функција фрекп () узима два аргумента и враћа бинарно значење и вредност типа double, floatили long double.

фрекп () параметри

  • к - Вредност која се разлаже.
  • екп - показивач на цео број у коме треба да се сачува вредност експонента.

фрекп () Повратна вредност

Функција фрекп () враћа бинарни знак и чија апсолутна вредност лежи у интервалу (0,5, 1). Ако је к нула, и значење и експонент су нула.

фрекп () повратне вредности
Параметар (к) Бинарни знак Експонент
0 0 0
к> = 1 Позитивно Позитивно
к <= -1 Негативно Позитивно
-1 <к <0 Негативно Негативно
0 <к <1 Позитивно Негативно

Пример 1: Како функција фрекп () ради у Ц ++?

 #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: функција фрекп () са интегралним типом

 #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 

Занимљиви Чланци...