十进制 二进制 如何互转 PASCAL

来源:百度知道 编辑:UC知道 时间:2024/06/11 08:58:40

10进制转N进制
var x,n,i,j:longint;a:array[1..100] of longint;
begin
readln(x,n);i:=0;
while x>0 do begin
inc(i);
a[i]:=x mod n;
x:=x div n;
end;
for j:=i downto 1 do
if a[j]>=10 then write(chr(a[j]+55))
else write(a[j]);writeln;
end.
输入一个10进制数,空格,输入N(这里你输2就行了,下面的也一样,如果是其他进制,只要输入相应的N)

n进制转化为十进制
var x:string;
s:array[1..10000] of longint;
n,c,p,m,i,f:longint;
begin
readln(x);
p:=pos(' ',x);
val(copy(x,p+1,length(x)-p),n,c);
x:=copy(x,1,p-1);
for i:=1 to length(x) do begin
if x[i] in ['1'..'9'] then s[i]:=ord(x[i])-48;
if x[i] in ['A'..'Z'] then s[i]:=ord(x[i])-55;
end;
m:=s[length(x)];
f:=1;
for i:=length(x)-1 downto 1 do begin
f:=f*n;
m:=m+f*s[i];end;
writeln(m);
end.
输入:m n(m代表这个n进制数,n代表进制,两者之间有一个空格分隔)

你电脑里