16j进制 转2 进制 pascal

来源:百度知道 编辑:UC知道 时间:2024/07/02 22:09:11
怎么办

16转10
10再转2
程序:
readln(st){读入16进制数,字符串}
for i:=1 to length(st) do
begin
if (st[i]>='0')and(st[i])<='9')
then n:=n*16+ord(st[i])-ord('0')
else n:=n*16+ord(st[i])-ord('A')+10;
{转为10进制数}
end;
i:=0;
while n<>0 do{除2取余}
begin
i:=i+1;{记位数}
a[i]:=n mod 2;{存当前位的数}
n:=n div 2;
end;
for n:=i downto 1 do write(a[n]);{倒序输出}

将16转10
然后在用10转2