主题:将M进制数转换成N进制数。
小精灵1号
[专家分:1040] 发布于 2007-12-06 17:23:00
进制转换的万能程序
回复列表 (共5个回复)
沙发
网虫一号 [专家分:1230] 发布于 2007-12-06 17:29:00
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
板凳
小精灵1号 [专家分:1040] 发布于 2007-12-06 17:38:00
楼上的好聪明呦!!!!!
3 楼
我的电脑 [专家分:990] 发布于 2007-12-06 17:43:00
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 楼
QB小猪 [专家分:1200] 发布于 2007-12-06 17:49:00
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 楼
hxy_anhui [专家分:320] 发布于 2009-01-29 16:23:00
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
我来回复