回 帖 发 新 帖 刷新版面

主题:高精度计算的问题

高精度乘法我按照书上的运行,但有问题,望各位高手指教。
程序:
CLS
INPUT a$, b$
la = LEN(a$)
lb = LEN(b$)
lc = la + lb
DIM a(la), b(lb), c(lc)
FOR i = 1 TO la
FOR j = 1 TO lb
  x = a(i) * b(j): w = i + j - 1
  c(w) = c(w) + x MOD 10
  c(w + 1) = c(w + 1) + c(w) \ 10 + x \ 10
  c(w) = c(w) MOD 10
NEXT
NEXT
PRINT a$; "*"; b$; "="
WHILE c(lc) = 0
lc = lc - 1
WEND
FOR i = lc TO 1 STEP -1
PRINT USING "#"; c(i);
NEXT
PRINT
END
[em18][em18][em18][em18]

回复列表 (共6个回复)

沙发

如果你是把 INPUT a$, b$ 作为输入两个数字
那么很明显的,程序缺失‘将a$, b$中的数据 转化到 a(la),b(lb)中去’的那一部分

板凳

我不会加上去啊,请问改后的程序是什么?

3 楼

PRINT ASC("8") - 48   结果为 8

其中ASC("0")=48

4 楼

用VAL函数

5 楼

搞不明白,没有给a(1)……a(la),b(1)……b(lb)……写入数据,都应该为0才是???[em10][em10]

6 楼

注意看第6行后面的注释

我来回复

您尚未登录,请登录后再回复。点此登录或注册