主题:十进制数的转变
下一个永远
[专家分:0] 发布于 2005-03-19 11:42:00
输入一个十进制的数,要求变成时为八进制和二进制数输出.
大家帮帮忙啦.谢了.诸位.
回复列表 (共4个回复)
沙发
飞鸟12 [专家分:2830] 发布于 2005-03-19 12:36:00
DO
INPUT "A==>B,NUMBER="; a, b, num 'a=2 b=10 表示二进制到十进制。依此类推
zhen = INT(num): xiao = num - zhen
LOOP UNTIL a = 10 OR b = 10 '二进制到八进制,或八进制到二进制会出错
i = O: shu1 = 0
DO
shu = zhen MOD b
zhen = INT(zhen / b)
shu1 = shu1 + shu * a ^ i
i = i + 1
LOOP UNTIL zhen = 0
i = 0: shu2 = 0
DO
shu = INT(xiao * b)
xiao = xiao * b - INT(xiao * b)
shu2 = shu2 + shu * a ^ i
i = i - 1
LOOP UNTIL xiao = 0 OR -i > 6
PRINT shu1 + shu2
END
板凳
qbqb [专家分:400] 发布于 2005-03-19 15:56:00
INPUT "N=";N
P=N
FOR J=2 TO 8 STEP 6
DO
Y$=STR$(N MOD J)
N=INT(N/J)
A$=A$+Y$
IF J=2 AND N=1 OR J=8 AND N<8 THEN EXIT DO
LOOP
A$=A$+STR$(N)
FOR I=LEN(A$) TO 1 STEP -1
C$=C$+MID$(A$,I,1)
NEXT I
PRINT C$
N=P:A$=""
NEXT J
END
3 楼
marlene [专家分:0] 发布于 2005-03-19 21:24:00
楼上的
a$=a$+str$(n)可以改成a$=str$(n)+a$这样就直接是倒序了,这样下面一段程序就可以省掉了。俺学生想出来,很棒吧!~
4 楼
qbqb [专家分:400] 发布于 2005-03-20 19:53:00
楼上的,这个方法的确不错。a=a+n,a=n+a 与 a$=a$+str(n),a$=str(n)+a$不一样
我来回复