搜档网
当前位置:搜档网 › 高精度除法运算的实现

高精度除法运算的实现

高精度除法运算的实现

蒲小勤
1994-03-18

笔者设计了一种算法,可以实现除法的高精度运算,理论上可精确到小数点后无限位。该算法突破了计算机中除法运算的一般概念,不是向计算机直接输入运算式,由计算机运算后得到结果,而是利用了计算机运算速度快的特点,用计算机模仿除法运算的实际步骤,先用被除数除以除数,得到一个整数商和一个余数,将整数商记录下来作为结果,将余数乘以10后作为下一步运算的被除数,继续运算,并往复循环。
将每一步运算得到的整数商转换成字符串存储在字符串变量中,当运算到用户给定的精度时,输出字符串变量的内容即为运算结果。
本文所附程序用高级BASIC语言写成,在Super PC/286微机上运行通过。

5 CLS
10 PRINT "A/B=?"
20 INPUT "input A="; a
30 INPUT "input B="; b
35 INPUT "stop at :"; n
40 IF b = 0 THEN PRINT "error: divided by zero!": BEEP: GOTO 10
50 aa = a
55 s = INT(aa / b)
60 first$ = STR$(s)
70 FOR i = 1 TO n
80 aa = (aa - b * s) * 10
90 s = INT(aa / b)
100 rst$ = rst$ + STR$(s)
110 NEXT i
120 PRINT STR$(a); "/"; STR$(b); "="; first$; "."; rst$
130 END



相关主题