回 帖 发 新 帖 刷新版面

主题:十进制数的转变

输入一个十进制的数,要求变成时为八进制和二进制数输出.
    大家帮帮忙啦.谢了.诸位.

回复列表 (共4个回复)

沙发

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

板凳

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 楼

楼上的
a$=a$+str$(n)可以改成a$=str$(n)+a$这样就直接是倒序了,这样下面一段程序就可以省掉了。俺学生想出来,很棒吧!~

4 楼

楼上的,这个方法的确不错。a=a+n,a=n+a 与 a$=a$+str(n),a$=str(n)+a$不一样

我来回复

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