Articles of bcmath

Какова точность для библиотеки PHP в формате bcmath?

Я пишу библиотеку PHP, которая имеет класс Number, который использует расширение bcmath для произвольной точности. У меня есть два вопроса: Насколько медленнее bcmath по сравнению с использованием встроенных типов int и float? bcmath имеет необязательный масштабный аргумент (по умолчанию он bcmath 3 цифрам). Для класса общего назначения, который может использовать любой человек, что было бы […]

bcdiv с очень маленьким поплавком с научной нотацией вызывает ошибку «Деление на ноль»

Используя bcdiv, я не могу разделить с небольшим поплавком, используя научную нотацию: Рабочий код: bcscale(30); $a = '1' ; $b = '0.00000001'; $result = bcdiv($a, $b); var_dump($result); Результаты в: строка (20) "100000000.0000000000" Нерабочий код: bcscale(30); $a = '1' ; $b = '1e-8'; $result = bcdiv($a, $b); var_dump($result); Результаты в: Предупреждение: bcdiv () [function.bcdiv]: Деление на […]

Как установить модуль bcmath?

Как установить модуль bcmath на сервер? Я пытался yum update php-bcmath но он сказал, что ничего не нашел.

Вычисление N-го корня с помощью bcmath в PHP

Мы ищем N-й корень в PHP. Нам нужно сделать это с очень большим числом, и калькулятор окон вернется 2. С помощью следующего кода мы получаем 1. Кто-нибудь есть идея, как это работает? echo bcpow(18446744073709551616, 1/64);

Арбитражная точность в PHP

В настоящее время я пытаюсь выяснить, как работать с номерами произвольной точности в PHP. Поэтому я предполагаю, что мой первый вопрос будет состоять именно в том, что такое математика с произвольной точностью. Я попробовал Googling для хорошего определения, но почему-то никто не может выразить это достаточно простыми словами. Во-вторых, каковы различия между библиотеками BCMath и […]

В PHP, как мне создать большое псевдослучайное число?

Я ищу способ генерации большого случайного числа с PHP, что-то вроде: mt_rand($lower, $upper); Чем ближе я видел gmp_random (), тем не менее, это не позволяет мне указывать нижнюю и верхнюю границы только количество бит на конечность (что я не знаю, что это такое). EDIT: ответ Axsuuls кажется довольно близким к тому, что я хочу, и […]

Привлечение к власти в PHP

Ну, мне нужно сделать некоторые вычисления в PHP-скрипте. И у меня есть одно выражение, которое ведет себя неправильно. echo 10^(-.01); Выходы 10 echo 1 / (10^(.01)); Выходы 0 echo bcpow('10', '-0.01') . '<br/>'; Выходы 1 echo bcdiv('1', bcpow('10', '0.01')); Выходы 1.000 …. Я использую bcscale(100) для вычислений BCMath. Excel и Wolfram Mathematica дают ответ ~ […]

Как пополнить, наполнить и округлить цифры в bcmath?

Мне нужно подражать точной функциональности функций ceil () , floor () и round () в номерах bcmath , я уже нашел очень похожий вопрос, но, к сожалению, предоставленный ответ мне не подходит, так как ему не хватает поддержки для отрицательных чисел и аргумент точности для функции round () отсутствует . Мне было интересно, может ли […]

Как округлить / потолковать / поместить номер bcmath в PHP?

Есть ли какая-либо функция библиотеки для этой цели, поэтому я не делаю этого вручную, а риск заканчивается на TDWTF? echo ceil(31497230840470473074370324734723042.6); // Expected result 31497230840470473074370324734723043 // Prints <garbage>

Вычисление корней с помощью bc_math или GMP

У меня возникли проблемы с вычислением корней довольно больших чисел с помощью bc_math, например: – pow(2, 2) // 4, power correct – pow(4, 0.5) // 2, square root correct – bcpow(2, 2) // 4, power correct – bcpow(4, 0.5) // 1, square root INCORRECT Кто-нибудь знает, как я могу обойти это? gmp_pow () также не […]