PHPBignum
Added functionallities
用于PHP的Bignum库。
| 类型 | 添加 | 减法 | 分配 | 乘法 | 平方根 | 力量 |
|---|---|---|---|---|---|---|
| bigint | 完毕 | 完毕 | 完毕 | 完毕 | 完毕 | 完毕 |
| Bigfloat | 完毕 | 完毕 | 完毕 | 完毕 | 完毕 | 完毕 |
只需克隆项目,转到项目目录并运行composer install ,应该很好!哦,而且对于运行测试,您应该进行vendor/phpunit/phpunit/phpunit tests/ 。
该包可以通过composer require hpez/php-bignum安装
<?php
// BigInteger Addition
$ bigInt1 = new BigInt( ' 123456 ' )
$ bigInt2 = new BigInt ( ' 654321 ' );
$ bigInt1 -> add ( $ bigInt2 );
echo $ bigInt1 ; // "777777"
// BigFloat Addition
$ bigFloat1 = new BigFloat ( ' 123456.111 ' );
$ bigFloat2 = new BigFloat ( ' 654321.22 ' );
$ bigFloat1 -> add ( $ bigFloat2 )
echo $ bigFloat1 ; // "777777.331"
// BigInteger Subtraction
$ bigInt3 = new BigInt ( ' 777777 ' );
$ bigInt4 = new BigInt ( ' 654321 ' );
$ bigInt3 -> sub ( $ bigInt4 );
echo $ bigInt3 ; // "123456"
// BigFloat Subtraction
$ bigFloat3 = new BigFloat ( ' 123456.111 ' );
$ bigFloat4 = new BigFloat ( ' 654321.22 ' );
$ bigFloat3 -> sub ( $ bigFloat4 );
echo $ bigFloat3 ; // results "530865.109"
// BigInteger Division
$ bigInt5 = new BigInt ( ' 777777 ' );
$ bigInt6 = new BigInt ( ' 654321 ' );
$ bigInt5 -> div ( $ bigInt6 );
echo $ bigInt5 ; // "1"
// BigFloat Division
$ bigFloat5 = new BigFloat ( ' 123456.111 ' );
$ bigFloat6 = new BigFloat ( ' 654321.22 ' );
$ bigFloat5 -> div ( $ bigFloat6 );
echo $ bigFloat5 ; // "0.188678"
// BigInteger Multiplication
$ bigInt7 = new BigInt ( ' 777777 ' );
$ bigInt8 = new BigInt ( ' 654321 ' );
$ bigInt7 -> multiply ( $ bigInt8 );
echo $ bigInt7 ; // "508915824417"
// BigFloat Multiplication
$ bigFloat7 = new BigFloat ( ' 123456.111 ' );
$ bigFloat8 = new BigFloat ( ' 654321.22 ' );
$ bigFloat7 -> multiply ( $ bigFloat8 );
echo $ bigFloat7 ; // "80779953165.97542"
// BigInteger Modulo
$ bigInt9 = new BigInt ( ' 777777 ' );
$ bigInt10 = new BigInt ( ' 654321 ' );
$ bigInt9 -> mod ( $ bigInt10 );
echo $ bigInt9 ; // "123456"
// BigInteger Power
$ bigInt11 = new BigInt ( ' 777777 ' );
$ bigInt12 = new BigInt ( ' 1 ' );
$ bigInt11 -> pow ( $ bigInt12 );
echo $ bigInt11 ; // "777777"
// BigFloat Power
$ bigFloat9 = new BigFloat ( ' 12345.12345 ' );
$ bigInt13 = new BigInt ( ' 3 ' );
$ bigFloat9 -> pow ( $ bigInt13 );
echo $ bigFloat9 // "1881422405168.320420453463625"
// BigInteger Square Root
$ bigInt14 = new BigInt ( ' 10000 ' );
$ bigInt15 -> sqrt ();
echo $ bigInt14 ; // "100"
// BigFloat Square Root
$ bigFloat10 = new BigFloat ( ' 2 ' );
$ bigFloat11 -> sqrt ( 7 );
echo $ bigFloat10 ; // "1.4142136"
// BigInteger Lesser-Than
$ bigInt16 = new BigInt ( ' 1234567890 ' );
$ bigInt17 = new BigInt ( ' 1234567891 ' );
echo $ bigInt16 -> isLesserThan ( $ bigInt17 ); // True
$ bigInt18 = new BigInt ( ' 1234567891 ' );
$ bigInt19 = new BigInt ( ' 1234567891 ' );
echo $ bigInt18 -> isLesserThan ( $ bigInt19 ); // False
// BigInteger Bigger-Than
$ bigInt20 = new BigInt ( ' 1234567891 ' );
$ bigInt21 = new BigInt ( ' 1234567890 ' );
echo $ bigInt20 -> isBiggerThan ( $ bigInt21 ); // True
$ bigInt22 = new BigInt ( ' 1234567891 ' );
$ bigInt23 = new BigInt ( ' 1234567891 ' );
echo $ bigInt22 -> isBiggerThan ( $ bigInt23 ); // False 该项目的目的是为PHP语言制作一个完整的Bignum库,因此也应添加表中提到的操作(三角函数,...)。
任何以问题或拉请请求形式的贡献都非常欢迎!另外,如果您有任何疑问,请随时对现有问题创建新问题或评论。