Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
Глава 22. Математические функции и функции произвольной точности (ВС) в PHPОчень часто при написании кода программисту приходится сталкиваться с осуществлением каких-либо математических операций. Именно простые математические операции позволяют решать сложные задачи.
Язык программирования можно было бы считать не совсем полным в случае отсутствия возможности работы с математическими функциями. Принцип работы математических функций в РНР такой: • функции работают только с диапазоном чисел типа long и double; • в случае использования больших чисел следует обратиться к математическим функциями произвольной точности; • приведенные ниже ВС-функции задействованы только при условии, что РНР был скомпилирован в режиме — enable-bornath, т. е. при включенных в конфигурацию функциях bcmath. В этой главе рассмотрены следующие вопросы: • математические константы ифункции; • функции произвольной точности (ВС-функции). 22.1. Математические константы и функцииM_PI Математическая константа, равная 3,14159265358979323846 (значение числа пи). Abs Возвращает абсолютную величину числа. Если число с плавающей запятой, то возвращает число с плавающей запятой. Синтаксис: mixed abs(mixed number); Acos Возвращает арккосинус аргумента в радианах. Синтаксис: float acos (float arg); Asin Возвращает арксинус аргумента в радианах. Синтаксис: float asin (float arg); Atan Возвращает арктангенс аргумента в радианах. Синтаксис: float atan (float arg); Atan 2 Вычисляет арктангенс от двух переменныххиу аналогично вычислению арктангенс y/х, за исключением того, что знаки обоих аргументов используются для определения сектора результата. Функция возвращает результат в радианах, находящихся между —PI и PI (включительно). Синтаксис: float atan2 (float у, float х); Base_convert Возвращает строку, содержащую number, представленную по основанию tobase. Основание, в котором дается число which number, указывается в frombase. Основания frombase и tobase должны находиться в диапазоне от 2 до 36 включительно. Цифры в числах с основанием выше, чем 10, будут представлены буквами a—z со значениями а — 10, b — 11 и z — 36. Например: $binary = base_convert($hexadecimal, 16, 2); Синтаксис: string base_convert(string number, int frombase, int tobase); BinDec десятичный эквивалент двоичного числа, представленного аргументом binary_string. BinDec конвертирует двоичное число в десятичное. Наибольшее число, которое может быть конвертировано — 31 битам, или 2 147 483 647 в десятичном виде. Синтаксис: int bindec(string binary_string); Ceil Округляет дробную часть к большему. Синтаксис int ceil(float number); Возвращает следующее наибольшее целое значение number. Ceil() непродуктивно использовать для целых чисел. СОВЕТ Функция ceil() в PHP/FI 2 возвращала число типа float. Используйте $new = (double)ceil($number);, чтобы имитировать старое поведение функции. Cos Возвращает косинус аргумента в радианах. Синтаксис: float cos (float arg); DecBin Возвращает строку, содержащую двоичное представление аргумента number. Наибольшее число, которое может быть конвертировано — 2 147 483 647 в десятичном виде или 31 бит. Синтаксис: string decbin(int number); DecHex Возвращает строку, содержащую шестнадцатеричное представление number. Наибольшее число, которое может бьпъ конвертировано, равно 2 147 483 647 в десятичном виде, или 7fffffff в шестнадцатеричном. Синтаксис: string dechex(int number); DecOct Возвращает строку, содержащую восьмеричное представление аргумента number. Наибольшее число, которое может быть конвертировано, равно 2 147 483 647 в десятичном виде, или 777 777 777 в восьмеричном. Синтаксис: string Exp Возвращает число e, возведенное в степень arg. Синтаксис: float exp (float arg); Floor Округляет дробную часть к меньшему. Синтаксис: int floor(float number); Возвращает предыдущее целое значение после number. Использование floor() нецелесообразно для целых чисел. СОВЕТ Функция floor() в PHP/FI 2 возвращала число типа float. Используйте $new = (double)floor($number);, чтобы имитировать старое поведение этой функции. Getrandmax Возвращает максимальную случайную величину, которая может быть возвращена вызовом функции rand(). Синтаксис: int getrandmax(void); HexDec десятичный эквивалент числа, представленного аргументом HexDec конвертирует шестнадцатеричную строку в десятичное число. Наибольшее число, которое может быть конвертировано, равно 7fffffff вшестнадцатеричном виде, или 2 147 483 647 в десятичном. Синтаксис: int hexdec(string hex_string); Log Возвращает натуральный логарифм от аргумента arg. Синтаксис: float log (float arg); Log10 Возвращает логарифм по основанию от аргумента arg. Синтаксис: float log10(float arg); Max Возвращает наибольшее число из перечисленных в параметрах. Синтаксис: mixed max(mixed argl, mixed arg2, mixed argn); Если первый элемент является массивом, max() возвращает максимальную величину массива. Если первый параметр — integer, string или double, то следует использовать как минимум два параметра, ив этом случае max() возвращает наибольшую из этих величин. Можно сравнивать неограниченное количество значений. Если одна или более величин типа double, все остальные величины будут обращены к double и, соответственно, возвратится число типа double. Если ни одно из чисел не является double, то все будут обращены в целые и возвратится целое число. Min Возвращает наименьшее значение из указанных в аргументах. Синтаксис: mixed min (mixed arg1, mixed arg2, mixed argn); Если первый параметр — массив, min() возвратит наименьшую величину массива. Если первый параметр — целое integer, string или double, следует указать не меньше двух параметров и min() возвратит наименьшую из них величину. Можно сравнивать неограниченно количество величин. Если одна или более величин типа double, все остальные величины будут обращены к double и, соответственно, возвратится число типа double. Если ни одно из чисел не является double, то все будут обращены в целые и возвратится целое число. Mt_rand Генерирует наилучшее случайное число. Синтаксис: int mt_rand( [ int min], [int max] ); Множество генераторов случайных чисел, написанных на старой библиотеке libcs, имеют неясные или неизвестные характеристики и к тому же медленны. По умолчанию с функцией rand() РНР использует генератор случайных чисел, написанный на libc. Функция mt_rand() является его полной заменой. Она использует генератор случайных чисел с известными характеристиками (Mersenne Twister), который производит случайные числа, пригодные для использования в криптографии, и работаете четыре раза быстрее, чем средняя скорость, которую обеспечивает libc. Домашняя страница Mersenne Twister находится по адресу Если функция вызывается без необязательных аргументов min и max, mt_rand() возвращает псевдослучайное число между 0 и RAND_MAX. Если нужно, например, получить случайное число между 5 и 15 (включительно), то можно использовать следующий вызов функции: mt_rand(5,15). Не забудьте инициализировать генератор случайных чисел перед использованием функции mt_srand(). Mt_strand Инициализирует генератор случайных чисел значением seed Синтаксис: void mt_srand(int seed); /* инициализируется количеством микросекунд с последней "целой" секунды */ mt_srand( (double)microtime () 1000000); $randval = mt_rand(); Mt_getrandmax Возвращает максимальную случайную величину, которая может быть возвращена вызовом функции mt_rand(). Синтаксис: int mt_getrandmax(void); Number_format Форматируетчисло со сгруппированными разрядами (например, 1 000 000). Синтаксис: string number_format (float number, int decimals, string dec_point, string thousands_sep); number_format() возвращает форматированную версию числа number. Эта функция принимает один, два или четыре параметра (не три). Еслидан только один параметр, число number будет отформатировано бездесятичных цифр, но с запятой между каждой группой разрядов. Если дано два параметра, число number will будет отформатировано с десятичным знаком decimals с точкой впереди и запятой между каждой группой разрядов. Если даны все четыре параметра, то число number будет отформатировано с десятичным знаком decimals, dec_point вместо точки перед десятичным знаком и t housands_sep вместо запятой между каждой группой разрядов. OctDec Синтаксис: int octdec(string octal_string); Во чвращаетдесятичный эквивалент восьмеричного числа, представленного аргументом octal_string. Максимальное число, которое может быть конвертировано, равно 17 777 777 777, или 2 147 483 647 в десятичном виде. Pi Возвращает аппроксимированное значение числа пи. Синтаксис: double pi(void); Pow Возвращает base, возведенное в степень ехр. Синтаксис: float pow (float base, float ехр); Rand Генерирует случайную величину. Синтаксис: int rand([int min], [int max]); Если функция вызывается без необязательных параметров min и max, rand() возвращает псевдослучайную величину между 0 и RAND_MAX. При желании получить случайное число между 5 и 15 (включительно) используйте rand (5,15). Не забудьте инициализировать генератор случайных чисел перед использованием srand(). Начиная с версии РНР 4.2.0 в вызове этой функции нет необходимости. Round Округляет число с плавающей запятой. Синтаксис: double round(double val); Например: $foo = round( 3.4 ); // $foo = 3.0 $foo = round( 3.5 ); // $foo = 4.0 $foo = round( 3.6 ); // $foo = 4.0 Sin Возвращает синус аргумента. Синтаксис: float sin (float arg); Возвращает квадратный корень аргумента. Синтаксис: float sqrt (float arg); Srand Инициализирует генератор случайных чисел. Синтаксис: void srand(int seed); Например: // инициализируется числом микросекунд с последней "целой" секунды srand((double)microtime()*1000000); $randval = rand(); Начиная с версии PHP 4.2.0 в вызове этой функции нет необходимости. Tan Возвращает тангенс аргумента. Синтаксис: float tan(float arg);
|
1 |
Оглавление
|