Учись программированию на C++ Builder бесплатно!
  • Главная
  • FAQ
  • Арифметические и алгебраические функции
Функция Синтаксис Описание Файл
_lrotl unsigned long _lrotl(unsigned long val, int count) циклический сдвиг val влево на count битов stdlib.h
_Irotr unsigned long _lrotr(unsigned long val, int count) циклический сдвиг val вправо на count битов stdlib.h
_rotl unsigned short _rotl(unsigned short value, int count) циклический сдвиг value влево на count битов stdlib.h
_rotr unsigned short _rotr(unsigned short value, int count) циклический сдвиг value вправо на count битов stdlib.h
abs int abs(int x) абсолютное значение stdlib.h
cabs double cabs(struct complex z)
struct complex{double x, y;};
модуль комплексного числа z math.h
cabsl long double cabsl(struct _complel z)
struct _complex{long double x, y;};
модуль комплексного числа z math.h
ceil double ceil(double x) округление вверх: наименьшее целое, не меньшее x math.h
Ceil int Ceil(Extended X) округление вверх: наименьшее целое, не меньшее X Math.hpp
ceill long double ceill(long double x) округление вверх: наименьшее целое, не меньшее X math.h
div div _t div(int numer, int denom)
typedef struct {
int quot; // частное
int rem; // остаток
}
div _t;
целочисленное деление numer / denom math.h
exp double exp(double x) экспонента math.h
expl long doubtu expl(long double x) экспонента math.h
fabs double fabs(double x) абсолютное значение math.h
fabsl long double fabsl(long double x) абсолютное значение math.h
floor double floor(double x) округление вниз: наибольшее целое, не большее x math.h
Floor int Floor(Extended X) округление вниз: наибольшее целое, не большее X Math.hpp
floorl long double floorl(long double x) округление вниз: наибольшее целое, не большее x math.h
fmod double fmod(double x, double y) остаток от деления x/у math.h
fmodl long double fmodl( long double x, long double y) остаток от деления x/у math.h
frexp double frexp(double x, int *exponent) разделяет x на мантиссу (возвращает) и степень exponent math.h
Frexp void Frexp(Extended X, Extended &Mantissa, int &Exponent) разделяет X на мантиссу Mantissa и степень Exponent Math.hpp
frexpl long double frexpl(long double x, int *exponent) разделяет x на мантиссу (возвращает) и степень exponent math.h
IntPower Extended IntPower(Extended Base, int Exponent) возводит Base в целую степень Exponent Math.hpp
labs long labs(long int x) абсолютное значение stdlib.h
ldexp double ldexp(doubie x, int exp) x*2exp math.h
Ldexp Extended Ldexp(Extended X, int P) x*2p Math.hpp
ldexpl long double ldexpl(long double x, int exp) x*2exp math.h
Idiv typedef struct
{
long int quot; // целое
long int rem; // остаток
}
ldiv_t;
ldiv_t ldiv(long int numer, long int denom)
целочисленное деление: numer / denom;
quot - результат
rem - остаток
math.h
stdlib.h
LnXP1 Extended LnXP1(Extended X) натуральный логарифм (Х + 1) Math.hpp
log double log(double x) натуральный логарифм math.h
log10 double Iog10(double x) десятичный логарифм math.h
Log10 Extended log10(Extended X) десятичный логарифм Math.hpp
log10l long double log10l(long double x) десятичный логарифм math.h
Log2 Extended Log2(Extended X) логарифм по основанию 2 Math.hpp
logl long double logl(long double x) натуральный логарифм math.h
LogN Extended LogN(Extended Base, Extended X) логарифм X по основанию Base Math.hpp
max max(a, b) макрос возвращает максимальное значение из а и b любых типов stdlib.h
min min(a, b) макрос возвращает минимальное значение из а и b любых типов stdlib.h
modf double modf(double x, double *ipart) разделяет x на целую часть ipart и возвращаемую дробную часть math.h
modfl long double modfl(long double x, long double *ipart) разделяет x на целую часть ipart и возвращаемую дробную часть math.h
poly double poly(double x, int degree, double coeffs[]) полином от x степени degree с коэффициентами coeffs math.h
Poly Extended Poly(Extended X, const double * Coefficients, const int Coefficients_Size) полином от X степени Coefficients_Size с коэффициентами Coefficients Math.hpp
polyl long double polyl(long double x, int degree, long double coeffs[]) полином от x степени degree с коэффициентами coeffs math.h
pow double pow(double x, double y) x^y math.h
Power Extended Power(Extended Base, Extended Exponent) возводит Base в степень Exponent Math.hpp
powl long double powl(long double x, long double y) x^y math.h
sqrt double sqrt(double x) корень квадратный math.h
sqrtl long double sqrtl(long double x) корень квадратный math.h

При работе с математическими функциями надо иметь в виду, что файлы math.h и Math.hpp в C++ Builder автоматически не подключаются к модулю вашего приложения. Поэтому для использования описанных в этих файлах функций необходимо вручную вводить директивы

#include <math.h>
#include <Math.hpp>

Функции exp, expl, ldexp, ldexpl в случае выхода аргумента за диапазон допустимых значений генерируют ошибку ERANGE.

Функции log, log10, log10l, logl в случае отрицательного аргумента генерируют ошибку ERANGE, а при нулевом аргументе EDOM.

Функции pow и powl генерируют ошибку EDOM, если x < 0 и у не является целым числом, а также если x = 0 и у <= 0. Возможно также появление ошибки ERANGE.

Функции sqrt и sqrtl генерируют ошибку EDOM, если x < 0.

Функции файла Math.hpp в основном повторяют возможности функций файла math.h, но для типа Extended.

Поделиться