数的进位制

来源:百度知道 编辑:UC知道 时间:2024/05/27 05:47:41
详细说明P进制化为10进制的方法(不含小数或字母)

设P进制的数写成XnX(n-1)……X1,则设10进制的数为S。S=Xn×P^(n-1)+X(n-1)×P^(n-2)+……+X1×P^0,算出来就可以了,其中Xm都先化成十进制的数,再带入。

var s:string;
i,j,k,l:longint;
o,p:int64;
begin
readln(s);
o:=0;p:=1;
for i:=8 downto 1 do
begin
if s[i] in ['0'..'9'] then k:=ord(s[i])-ord('0');
if s[i] in ['a'..'z'] then k:=ord(s[i])-ord('a')+10;
if s[i] in ['A'..'Z'] then k:=ord(s[i])-ord('A')+10;
o:=o+k*p;
p:=p*36;
end;
writeln(o);