回 帖 发 新 帖 刷新版面

主题:Qbasic的问题和进制转换的问题,高手来!

1.16进制数6D表示(6+14)16还是别的什么? 
2.输入:来自输入文件,输入文件的名称是t2in.txt,怎么做?(qbasic)

回复列表 (共7个回复)

沙发

6D表示6*16+D
用OPEN语句

板凳

到底怎么OPEN,我貌似没学过

3 楼

(6D)16表示6×16^1+D×16^0。

OPEN "t2.in" FOR INPUT AS #1
DO UNTIL EOF(1)
   INPUT #1,<变量>
LOOP
CLOSE #1
这里的<变量>是存放读入的数据的变量。

4 楼


[em2]这个程序太差请见谅!
10进制转换成2进制数:
INPUT "n(n为整数部分例:12)、m(m为小数部分例:0.75,当m为0时请输入0否则无法完成转换)(m、n为正数)="; n, m
s = 1
DO
x = n MOD 2
s = s * 10 + x
n = n \ 2
LOOP UNTIL n = 0
s$ = STR$(s)
z = LEN(s$)
FOR i = 1 TO INT(z / 2)
a$ = MID$(s$, i, 1)
b$ = MID$(s$, z - i + 1, 1)
MID$(s$, i, 1) = b$
MID$(s$, z - i + 1, 1) = a$
NEXT i
q = LEN(s$) - 2
s$ = LEFT$(s$, q)
PRINT s$;
PRINT ".";
IF m = 0 THEN GOTO 20
DO
10 m = 2 * m
IF m - 1 < 0 THEN
PRINT "0";
GOTO 10
ELSEIF m - 1 = 0 THEN
PRINT "1";
m = 0
GOTO 20
ELSEIF m - 1 > 0 THEN
PRINT "1";
m = m - 1
GOTO 10
END IF
20 LOOP UNTIL m = 0
END

5 楼


楼主不好意思看错帖子了!

6 楼

[quote]
[em2]这个程序太差请见谅!
10进制转换成2进制数:
INPUT "n(n为整数部分例:12)、m(m为小数部分例:0.75,当m为0时请输入0否则无法完成转换)(m、n为正数)="; n, m
s = 1
DO
x = n MOD 2
s = s * 10 + x
n = n \ 2
LOOP UNTIL n = 0
s$ = STR$(s)
z = LEN(s$)
FOR i = 1 TO INT(z / 2)
a$ = MID$(s$, i, 1)
b$ = MID$(s$, z - i + 1, 1)
MID$(s$, i, 1) = b$
MID$(s$, z - i + 1, 1) = a$
NEXT i
q = LEN(s$) - 2
s$ = LEFT$(s$, q)
PRINT s$;
PRINT ".";
IF m = 0 THEN GOTO 20
DO
10 m = 2 * m
IF m - 1 < 0 THEN
PRINT "0";
GOTO 10
ELSEIF m - 1 = 0 THEN
PRINT "1";
m = 0
GOTO 20
ELSEIF m - 1 > 0 THEN
PRINT "1";
m = m - 1
GOTO 10
END IF
20 LOOP UNTIL m = 0
END[/quote]

混合着老式BASIC和新式的写法,牛

7 楼

好程序呀

我来回复

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