fsleo 发表于 2022-7-31 14:46:16

关地课后作业的思考,高精度计算

刚学完C语言,还有很多东西来不及消化,收到老师的一个作业。实现高精度:加减乘除,主要还是学习一下算法的思路,网上也找了一些,加法应该是最简单的。比如论坛里说用ascii来算,效率应该更高,有空验证一下:https://bbs.emath.ac.cn/forum.php?mod=viewthread&tid=15265;
找了不少资料,发现乘法,基本都是一个大数,另一个是正常数的解法。比如:
1892899342949204023948023948930248392439 x 3424

后来我发现php里,有一个bcmath扩展,可以算大数,试了一下,的确不错。想着它是开源的,又是C语言,想学习一下他的算法实现。可能是我C语言还不太精,我看不懂。找不到它的关键算法的地方,有没有哪位老大 研究一下。开源项目地址:https://github.com/php/php-src/tree/master/ext/bcmath

不知道是不是因为他核心算法是私有的还是怎么回事,反正我研究了半天,也找不到,比如加法,好像是调用 _bc_do_add 但是我找不到它在哪。
页: [1]
查看完整版本: 关地课后作业的思考,高精度计算