怎样勇C语言编一个大数除法程序

2024-11-07 00:31:14
推荐回答(1个)
回答1:

在超高精度算法中,最难的就是除法了。(乘法,加法,减法,都要会)
模拟人工算法吧(大数都采用字符数组!)
做除法运算,首先至少要会乘法。
123456789*5
运算如下:
9*5=5进4,5*8=0
加个位进位4
进4,以此类推
大数之间的比较,也要会,这个简单就不说了,如果这个也不会,那我没办法说下去了!
除法如下:
把数字当放入字符数组....
假设:17346777412563/2365489
2365489(7位)
1734677(7位)
使用字符数组比较,如果是小于,那么采用17346777(8位)
一.然后2365489*9=的结果跟17346777,如果大于就2365489*8....依次类推直到小于。求得结果的第一位了。
然后17346777-2365489*x=余数跟(17346777后一位)4组合,看是否大于2365489,大于就
进入一步骤方式运算。小于的话,结果的第二位就是0。
大致思路讲了,只要中间思路分析清楚,基本上不会有多大问题。总之,模拟人工。
这样的话,不管多大的数字之间的除法都OK的!
思路不懂可以来问我,如果,要我写代码,就别找我了