For arbitrary precision mathematics PHP offers the Binary Calculator which supports numbers of any size and precision, represented as strings.

Since PHP 4.0.4, libbcmath is bundled with PHP. You don't need any external libraries for this extension.

These functions are only available if PHP was
configured with `--enable-bcmath`.
In PHP 3, these functions are only available if PHP was *not*
configured with `--disable-bcmath`.

The windows version of PHP has built in support for this extension. You do not need to load any additional extension in order to use these functions.

The behaviour of these functions is affected by settings in `php.ini`.

**Table 1. BC math configuration options**

Name | Default | Changeable | Changelog |
---|---|---|---|

bcmath.scale | "0" | PHP_INI_ALL | Available since PHP 5.0.0. |

Here's a short explanation of the configuration directives.

This extension has no resource types defined.

This extension has no constants defined.

**Table of Contents**- bcadd -- Add two arbitrary precision numbers
- 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