C#天文级别幂次方的运算

编程入门 行业动态 更新时间:2024-10-28 12:26:51

C#天文级别幂<a href=https://www.elefans.com/category/jswz/34/1764043.html style=次方的运算"/>

C#天文级别幂次方的运算

在模拟挂机经营游戏中,我们有时候会遇到类似于“1.02的十万幂次方”这种要求,当然这种用任意值类型肯定是存不下的,这里就需要天文级别数字的加减乘法。

然后通过分治的思路,进行进一步的封装:

   /// <summary>/// 倍率计算/// 底值 等级  分治数/// </summary>private string GetRate(float _rate, int _leve,int _background){var _str = "1";float _basic = Mathf.Pow(_rate, _background);//Debug.Log(_basic);int _factorial = _leve / _background;//阶乘N次int _remainder = _leve % _background;//余下次方//Debug.Log(_factorial + "  " + _remainder);if (_factorial > 0){for (var _i = 0; _i < _factorial; _i++) _str = BigDatenumMulitfy(_str, _basic);}_str = BigDatenumMulitfy(_str, Mathf.Pow(_rate, _remainder));return _str;}

最后包装一下,这里由于每个数不太一样,所以需要单独处理,比如1.02最大400次方,是个可求得的float值。所以调用写法如下:

Debug.LogError(GetRate(1.02f, 10000, 25));//十万还需优化,先拿一万搞一下

最后打印结果:

 

当然我们也可以用个小些的数字,比如26位,来验算一下,结果如下:

更多推荐

C#天文级别幂次方的运算

本文发布于:2024-03-15 03:03:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1737973.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:次方   天文   级别

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!