主题:问题求助
hyf1122
[专家分:100] 发布于 2008-01-30 09:28:00
10进制到8进制如何做?那么10进制到16进制怎么做?8进制到16进制呢?
[em18][em18][em18][em18][em18][em18][em18]
[fly]10进制到8进制如何做?那么10进制到16进制怎么做?8进制到16进制呢? [/fly]
回复列表 (共1个回复)
沙发
张扬SKY [专家分:20] 发布于 2008-02-06 23:18:00
首先是十进制到八进制啊!
input x
do
r=x mod 8
a$=chr$(r+48)+a$
x=x\8
loop until x=0
print a$
end
十进制到十六进制
input a
do
r=a mod 16
c$=chr$(r+48)
if c$ > "9" then
m=asc(c$)-55
else
m=asc(c$)-48
end if
x$=chr$(m)+x$
a= a \16
loop until a=0
print x$
end
八进制到十六进制
input a$
k=LEN(a$)
for i = 1 to k
b$=mid$(a$,i,1)
zh$=zh$+ss$(b$)
next i
n=LEN(zh$) 测试二进制的长度
R=n mod 4
for j = n to 1 step -1
y$=MID$(zh$,n,4)
hh$=hh$+ff$(y$)
next j
if r=0 then
print hh$
else
hh$=hh$+ff$(left$(zh$,r))
print hh$
end if
function ff$(y$)
for i = 1 to 4
c=c+ VAL(mid$(y$,i,1))*2^(4-i)
next i
s$=LTRIM$(STR$(C))
IF S$ > "9" THEN
M=ASC(S$)-55
ELSE
M=ASC(S$)-48
END IF
T$=CHR$(M)
FF$=T$
END FUNCTION
function ss$(b$) 转换为二进制过度一下
c=asc(b$)-48
for i= 1 to 3
r=c mod 2
x$=chr$(r+48)+x$
c=c\2
next i
ss$=x$
end function
好像有点复杂啊!呵呵~~~
我来回复