Функции повышенной точности BCMath

bcadd
Сложение двух чисел произвольной точности.

Синтаксис:
string bcadd(string left_operand, string right_operand [, int scale]);

Эта функция возвращает строковое представление суммы двух параметров (left_operand + right_operand) с точностью, которая указана в необязательном параметре scale.
Точность (scale) указывает количество десятичных знаков после запятой).

bccomp
Сравнение двух чисел произвольной точности.

Синтаксис:
int bccomp(string left_operand, string right_operand, [int scale]);

Сравнивает числа (left_operand с right_operand) и возвращает результат типа integer (целое). Параметр scale используется для установки количества цифр после десятичной отметки, используемых при сравнении. При равенстве двух частей возвращается значение 0. Если левая часть больше правой части возврашается +1, и если левая часть меньше правой части возвращается -1.

bcdiv
Операция деления для двух чисел произвольной точности.

Синтаксис:
string bcdiv(string left_operand, string right_operand [, intscale]);

Делит left_operand на right_operand и возвращает результат с точностью (знаками после запятой), заданной в параметре scale.

bcmod
Возвращает остаток целочисленного деления.

Синтаксис:
string bcmod(left_operand, string modulus);

Данная функция возвращает остаток от целочисленного деления left_operand на modulus.

bcmul
Операция умножения для двух чисел произвольной точности.

Синтаксис:
string bcmul(string left_operand, string right_operand [, int scale]);

Производит умножение left_operand на right_operand, и выдает результат в виде строки с точностью, заданной в переменной scale.

bcpow
Возведение одного числа произвольной точности в степень другого.

Синтаксис:
string bcpow(string x, string y, [int scale]);

Возведение x в степень y. Параметр scale может использоваться для установки количества цифр после точки.

bcscale
Устанавливает точность вычислений.

Синтаксис:
string bcscale(int scale);

Эта функция устанавливает заданную по умолчанию точность вычислений для всех математических функций BCMath, которые явно не определяют точность.

bcsqrt
Получение квадратного корня числа произвольной точности.

Синтаксис:
string bcsqrt(string operand [,int scale]);

Возвращает кваддратный корень аргумента operand. Параметр scale устанавливает количество цифр после десятичной отметки в результате.

bcsub
Вычитает одно число произвольной точности из другого.

Синтаксис:
string bcsub(string left_operand, right_operand [, int scale]);

Возвращает разность двух переменных, указанных в параметрах функции (left_operand - right_operand) с точностью, указанной в необязательном параметре scale.

 




















Функции GMP

Функции этого вида позволяют работать с целыми числами повышенной точности определенного формата используя библиотеку GNU MP.
Эта библиотека не входит в стандартный пакет PHP. Загрузить коды библиотеки и документацию по ней можно на сайте http://www.swox.com/gmp/.

Функции, приведенные в этой библиотеке, могут также работать с обычными целочисленными аргументами. В этом случае они будут автоматически преобразовываться в формат GMP. Но для увеличения производительности рекомендуется все же использовать числа формата GMP.

 


Функции GMP. Значения функции GMP

gmp_init
Создает число GMP.

Синтаксис:
resource gmp_init(mixed number)

Число GMP создается из целочисленного или строкового аргумента.
В строке может быть указано число десятеричного или шестнадцатеричного формата. Если это шестнадцатеричный формат, то перед числом должен стоять префикс 0x.

$x = gmp_init(45);$y = gmp_init("46");$z = gmp_init("0xfa4b");

Данная функция не обязательна (аргументы автоматически конвертируются в формат GMP), но желательна (при использовании функции gmp_init() повышается быстродействие).

gmp_intval
Преобразование GMP-числа в целое.

Синтаксис:
int gmp_intval(resource gmpnumber)

Эта функция конвертирует GMP-число в целое в том случае, если получаемое число не превышает своего максимально допустимого размера.

gmp_strval
Преобразование GMP-числа в строку.

Синтаксис:
string gmp_strval(resource gmpnumber [, int base])

Функция возвращает число gmpnumber в строковом формате в системе счисления, заданной в необязательном параметре base. По умолчанию возвращает в десятичной системе счисления).
Параметр base может принимать значения от 2 до 36.

$x = gmp_init("0xf1a5");echo "В десятичной: ".gmp_strval($x);echo "В base-36: ".gmp_strval($x,36);

gmp_abs
Вычисляет модуль GMP-числа.

Синтаксис:
resource gmp_abs(resourse x)

Возвращает абсолютное значение числа, заданного в параметре x.

gmp_sign
Возвращает знак числа.

Синтаксис:
int gmp_sign(resource x)

Функция gmp_sign() возвратит 1, если x - положительное число, и 0 - если отрицателоное.

gmp_neg
Возвращает отрицательное значение числа.

Синтаксис:
recource gmp_neg(resource x)

Возвратит -x.

 
















Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: