Главная    Разработка ПО    функции языка Си

Описание функций языка Си

" S "

scalb,scalbf,scalbl 

scalbln,scalblnf,scalblnl 

scalbn,scalbnf,scalbnl 

setbuf 

setvbuf 

signbit 

sin,sinf,sinl 

sincos,sincosf,sincosl 

sinh,sinhf,sinhl 

sleep 

sqrt,sqrtf,sqrtl 

strcasestr 

strcat 

strchr 

strchrnul 

strcmp 

strcpy 

strcspn 

strdup 

strerror 

strftime 

strlen 

strncat 

strndup 

strncmp 

strncpy 

strpbrk 

strrchr 

strspn 

strstr 

strtod 

strtok 

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

scalb, scalbf, scalbl – вычисление числа по мантиссе и порядку.

Синтаксис:

#include < math.h >

double scalb (double m, double p);
float scalbf (float m, float p);
long double scalbl (long double m, long double p);

Аргументы:

m – мантисса.
p – порядок.

Возвращаемое значение:

Значение выражения m*rp, где r – основание, значение которого определяется константой FLT_RADIX описанной в библиотеке float.h.

nan, если один из аргументов nan, если аргумент p имеет дробную часть (не целое число), если m=0, а p плюс бесконечность, если m плюс или минус бесконечность, а p - минус бесконечность.

Если один из аргументов бесконечность, а другой не nan, или оба аргумента бесконечность, то возвращаемый результат будет inf.

Если m минус бесконечность, а p не nan и не минус бесконечность, то возвращаемый результат будет -inf.

Если результат слишком большое по абсолютной величине число, то будет возвращено значение плюс или минус HUGE_VAL в зависимости от знака x, а переменной errno будет присвоен код ERANGE.

Если результат слишком маленькое по абсолютной величине число и не может быть представлено в виде нормализованного числа, то переменной errno будет присвоен код ERANGE. Если результат можно представить в виде ненормализованного числа, то будет возвращено ненормализованное число, иначе 0.

Описание:

Функции scalb, scalbf, scalbl вычисляют число по мантиссе и порядку, то есть рассчитывают результат выражения m*rp, где m – мантисса, p – порядок, r – основание. Значение основание определяется константой FLT_RADIX определенной в библиотеке float.h.

Функции scalb, scalbf, scalbl отличаются друг от друга точностью аргументов и возвращаемого значения. Так аргументы и возвращаемое значение функции scalb являются числами с плавающей точкой двойной точности (тип double, точность не менее десяти значащих десятичных цифр, разрядность - 64).

Аргументы и возвращаемое значение функции scalbf являются числами с плавающей точкой (тип float, точность не менее шести значащих десятичных цифр, разрядность - 32).

Аргументы и возвращаемое значение функции scalbl являются числами с плавающей точкой повышенной точности (тип long double, точность не менее десяти значащих десятичных цифр, разрядность - 80).

Пример:

В примере вычисляется число по мантиссе 0.635987 и порядку 27 с помощью функции scalb, scalbf, scalbl и результат выводится на консоль.


#include < stdio.h >  //Для printf
#include < math.h >   //Для  scalb, scalbf, scalbl

int main (void)
{    
   // Вывод мантиссы и порядка
   printf (“Мантисса: 0.635987, порядок: 27\n”);

   //Вычисление числа с помощью scalbf и вывод результата
   printf (“scalbf: %.10f\n”, scalbf (0.635987,27) );

   //Вычисление числа с помощью scalb и вывод результата
   printf (“scalb: %.10f\n”, scalb (0.635987, 27) );

   //Вычисление числа с помощью scalbl и вывод результата
   printf (“scalbl: %.10Lf\n”, scalbl (0.635987,27) );

   return 0;
}

Результат:

Мантисса: 0.635987, порядок: 27
scalbf: 85360728.0000000000
scalb : 85360730.1775359958
scalbl: 85360730.1775359958



Смотри так же:

logb, logbf, logbl
ilogb, ilogbf, ilogbl
ldexp, ldexpf, ldexpl
frexp, frexpf, frexpl
scalb, scalbf, scalbl
scalbn, scalbnf, scalbnl
scalbln, scalblnf, scalblnl


Яндекс.Метрика

Рейтинг@Mail.ru