# 任意精度数学

* [bcadd - 两个任意精度数字的加法计算](#bcadd)
* [bccomp - 比较两个任意精度的数字](#bccomp)
* [bcdiv - 两个任意精度的数字除法计算](#bcdiv)
* [bcmod - 对一个任意精度数字取模](#bcmod)
* [bcmul - 两个任意精度数字乘法计算](#bcmul)
* [bcpow - 任意精度数字的乘方](#bcpow)
* [bcpowmod - 将任意精度数先进行乘方运算，然后进行取模运算](#bcpowmod)
* [bcscale - 设置所有任意精度数学函数的默认小数点保留位数](#bcscale)
* [bcsqrt - 任意精度数字的平方根](#bcsqrt)
* [bcsub - 两个任意精度数字的减法](#bcsub)

## bcadd

```php
<?php

var_dump(bcadd('1.234', '5'));     // string(1) "6"
var_dump(bcadd('1.234', '5', 4));  // string(6) "6.2340"
var_dump(bcadd('1.234', '-5', 4)); // string(7) "-3.7660"

```

## bccomp

```php
<?php

var_dump(bccomp('1', '2'));          // int(-1)
var_dump(bccomp('1.00001', '1', 3)); // int(0)
var_dump(bccomp('1.00001', '1', 5)); // int(1)

```

## bcdiv

```php
<?php

var_dump(bcdiv('105', '6.55957'));    // string(2) "16"
var_dump(bcdiv('105', '6.55957', 3)); // string(6) "16.007"
var_dump(bcdiv('105', '6.55957', 7)); // string(10) "16.0071468"

```

## bcmod

```php
<?php

var_dump(bcmod('5', '2'));        // string(1) "1"
var_dump(bcmod('5.7', '1.3'));    // string(1) "0"
var_dump(bcmod('5.7', '1.3', 2)); // string(4) "0.50"

```

## bcmul

```php
<?php

var_dump(bcmul('2', '4'));                 // string(1) "8"
var_dump(bcmul('1.34747474747', '35'));    // string(2) "47"
var_dump(bcmul('1.34747474747', '35', 3)); // string(6) "47.161"

```

## bcpow

```php
<?php

var_dump(bcpow('0', '0'));      // string(1) "1"
var_dump(bcpow('4.2', '3', 2)); // string(5) "74.08"
var_dump(bcpow('5', '2', 2));   // string(5) "25.00"

```

## bcpowmod

```php
<?php

var_dump(bcpowmod('0', '0', '4'));    // string(1) "1"
var_dump(bcpowmod('5', '2', '2', 2)); // string(4) "1.00"
var_dump(bcpowmod('5', '2', '5', 2)); // string(4) "0.00"

```

## bcscale

```php
<?php

var_dump(bcscale(4));                   // int(0)
var_dump(bcadd('1.234', '-5'));         // string(7) "-3.7660"

var_dump(bcscale(3));                   // int(4)
var_dump(bcdiv('105', '6.55957'));      // string(6) "16.007"

var_dump(bcscale(3));                   // int(3)
var_dump(bcmul('1.34747474747', '35')); // string(6) "47.161"

```

## bcsqrt

```php
<?php

var_dump(bcsqrt('2'));    // string(1) "1"
var_dump(bcsqrt('2', 3)); // string(5) "1.414"
var_dump(bcsqrt('4'));    // string(1) "2"

```

## bcsub

```php
<?php

var_dump(bcsub('1.234', '5'));     // string(2) "-3"
var_dump(bcsub('1.234', '5', 4));  // string(7) "-3.7660"
var_dump(bcsub('1.234', '-5', 4)); // string(6) "6.2340"

```

