search for in the

 Last updated: Fri, 24 May 2013

# BCMath Arbitrary Precision Mathematics

• Introduction
• Installing/Configuring
• Predefined Constants
• BC Math Functions
• bccomp — Compare two arbitrary precision numbers
• bcdiv — Divide two arbitrary precision numbers
• bcmod — Get modulus of an arbitrary precision number
• bcmul — Multiply two arbitrary precision number
• bcpow — Raise an arbitrary precision number to another
• bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
• bcscale — Set default scale parameter for all bc math functions
• bcsqrt — Get the square root of an arbitrary precision number
• bcsub — Subtract one arbitrary precision number from another

User Contributed Notes BC Math - [1 notes]
ClaudiuS
3 months ago
Needed to compute some permutations and found the BC extension great but poor on functions, so untill this gets implemented here's the factorial function:

<?php
/* BC FACTORIAL
* n! = n * (n-1) * (n-2) .. 1 [eg. 5! = 5 * 4 * 3 * 2 * 1 = 120]
*/
function bcfact(\$n){

\$factorial=\$n;
while (--
\$n>1) \$factorial=bcmul(\$factorial,\$n);
return
\$factorial;
}

print
bcfact(50);
//30414093201713378043612608166064768844377641568960512000000000000
?>