回 帖 发 新 帖 刷新版面

主题:将M进制数转换成N进制数。

进制转换的万能程序

回复列表 (共5个回复)

沙发

CLS
INPUT A$, M, N
FOR I = LEN(A$) TO 1 STEP -1
B$ = MID$(A$, LEN(A$) + 1 - I, 1)
IF ASC(B$) > 55 THEN A = ASC(B$) - 55 ELSE A = VAL(B$)
X = X + A * M ^ (I - 1)
NEXT I
DO
R = X MOD N: X = X \ N
IF R > 9 THEN Y$ = CHR$(55 + R) ELSE Y$ = CHR$(48 + R)
X$ = Y$ + X$
LOOP UNTIL X = 0
PRINT X$
END

板凳

楼上的好聪明呦!!!!!

3 楼

CLS
INPUT N$,M,N
FOR I=LEN(N$) TO 1 STEP -1
A$=MID$(N$,LEN(N$)+1-I,1)
IF ASC(A$)>57 THEN A=ASC(A$)-55 ELSE A=VAL(A$)
X=X+A*M^(I-1)
NEXT I
DO
Y=X MOD N
X=X\N
IF Y>9 THEN X$=CHR$(55+Y)+X$ ELSE X$=CHR$(48+Y)+X$
LOOP UNTIL X=0
PRINT X$
END

4 楼

CLS
INPUT N$, M, N
D = INSTR(N$, ".")
IF D <> 0 THEN S$ = MID$(N$, D + 1): N$ = MID$(N$, 1, D - 1): U$ = "."
'CHU LI ZHENG SHU
FOR I = LEN(N$) TO 1 STEP -1
A$ = MID$(N$, LEN(N$) + 1 - I, 1)
IF ASC(A$) > 57 THEN A = ASC(A$) - 55 ELSE A = VAL(A$)
X = X + A * M ^ (I - 1)
NEXT I
DO
R = X MOD N
X = X \ N
IF R > 9 THEN X$ = CHR$(55 + R) + X$ ELSE X$ = CHR$(48 + R) + X$
LOOP UNTIL X = 0
PRINT X$; U$;
'CHU LI XIAOSHU
FOR I = 1 TO LEN(S$)
B$ = MID$(S$, I, 1)
IF ASC(B$) > 57 THEN B = ASC(B$) - 55 ELSE B = VAL(B$)
Y = Y + B * M ^ (-I)
NEXT I
M$ = "0123456789ABCDEF"
DO UNTIL LEN(Y$) = LEN(S$)
R = INT(Y * N)
Y$ = Y$ + MID$(M$, R + 1, 1)
Y = Y * N - R
LOOP
PRINT Y$
END
小数也可以.......

5 楼

CLS
INPUT A$, M, N
FOR I = LEN(A$) TO 1 STEP -1
  S = S + M ^ (LEN(A$) - I) * VAL(MID$(A$, I, 1))
NEXT I
DO
L = S MOD N
S = S \ N
IF L >= 10 THEN B$ = CHR$(64 + L) + B$ ELSE B$ = LTRIM$(STR$(L)) + B$
LOOP UNTIL S = 0
PRINT B$
END

我来回复

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