- 广场
-
- 搜索中...
- 本文档内搜索
zxf/tools 使用手册
超高精度大数计算 - BigNumberCalculator
引入
use zxf\Tools\BigNumberCalculator;
加法
// 加法测试: 123456789 + 987654321
BigNumberCalculator::add('123456789', '987654321');
减法
// 减法测试: 987654321 - 123456789
BigNumberCalculator::subtract('987654321', '123456789');
乘法
// 乘法测试: 123456789 * 987654321
BigNumberCalculator::multiply('123456789', '987654321');
除法
// 除法测试: 987654321 / 123456789
BigNumberCalculator::divide('987654321', '123456789')
小数除法
// 小数除法测试: 1 / 3 (精度20位)
BigNumberCalculator::divide('1', '3', 20)
幂运算
// 幂运算测试: 2^100
BigNumberCalculator::power('2', '100')
幂塔(重幂 或 超幂)
幂塔(Power tower),也称为重幂 或者 超幂(a↑↑b) (共b层)
形如 ((2²)²)² 表示为2^2^2^2
也记为 ⁴2 表示 或者2↑↑4 (共4层)
的表达式被称为 指数塔(Exponential tower) 或 幂塔
// 幂塔测试: 2↑↑4 (2^2^2^2)
BigNumberCalculator::tetration('2', 4)
科学计数法
// 科学计数法测试
$num = BigNumberCalculator::power('3', '100');
BigNumberCalculator::toScientificNotation($num, 15);
边界测试
// 边界测试: 0的幂运算
BigNumberCalculator::power('0', '123');
// 边界测试: 1的幂塔
BigNumberCalculator::tetration('1', '100');
错误测试
// 错误处理测试
BigNumberCalculator::analysis("错误测试: 无效输入",
fn() => BigNumberCalculator::add('123abc', '456'));
输出带调试信息的计算
// 测试用例1: 基本乘法
BigNumberCalculator::analysis("乘法测试: 123456789 * 987654321",
fn() => BigNumberCalculator::multiply('123456789', '987654321')
);
========================================
测试: 乘法测试: 123456789 * 987654321
结果: 121932631112635269
计算时间: 0.000013 秒
结果长度: 18 位
性能统计:
内存峰值: 2.00 MB
加法运算: 0 次, 0.000000 秒
减法运算: 0 次, 0.000000 秒
乘法运算: 1 次, 0.000013 秒
除法运算: 0 次, 0.000000 秒
幂运算: 0 次, 0.000000 秒
幂塔运算: 0 次, 0.000000 秒
缓存命中: 0 次, 未命中: 1 次
缓存命中率: 0.0%