回 帖 发 新 帖 刷新版面

主题:问题求助

10进制到8进制如何做?那么10进制到16进制怎么做?8进制到16进制呢? 
[em18][em18][em18][em18][em18][em18][em18]
[fly]10进制到8进制如何做?那么10进制到16进制怎么做?8进制到16进制呢? [/fly]

回复列表 (共1个回复)

沙发

首先是十进制到八进制啊!
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
好像有点复杂啊!呵呵~~~

我来回复

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