如何实现大数的加减乘除?


我们都知道php有bc系列的函数可以实现大数的运算,
如果不借助这些现有的函数如何实现呢?
或者给出 这些函数的源码,进行算法分析也可以。

c php 算法

用户被注销 12 years ago

如果是功能需要,那就不要重复造轮子,使用成熟的开源实现比较好。
big-decimal bigint

思想无非就是以下几种:
1: 用字符串表示大数。
2: 大数看成二进制流进行处理
3: 大数表示成一个n进制数组

第三种实现方案较多吧,可以是把32位分成16位的两部分,之后两个32位数进行运算时
相当于四个16位数进行运算,你把结果相应的保存到两个32位组成的64位中,这样你有了,64位的了就可以做128位的,递归下去。

参考: 大数运算

诶诶诶诶诶诶 answered 12 years ago

Your Answer