تبدیل یک عدد از یک مبنا به مبنای دیگر در زبان پاسکال

the_king

مدیرکل انجمن
کد زیر یک عدد را دریافت نموده و پس از پرسیدن مبنای آن، به مبنای دلخواه دیگری تبدیل کرده و نمایش می دهد :

کد:
program prg;
uses crt;
var
	i,j,k,l,mA,mB:longint;
	A,B,C:string;
begin
	clrscr;
	write (' N1 :');
	readln(A);
	write (' mabna N1 :');
	readln(mA);
	l:=length(A);
	for i:=1 to l do
	begin
		case a[i] of
			'0'..'9': begin
				k:=ord(a[i])-ord('0');
				j:=k+j*mA;
			end;
			'a'..'f': begin
				k:=ord(a[i])-ord('a')+10;
				j:=k+j*mA;
			end;
		end;
	end;
	write (' new mabna :');
	readln(mB);
	while (j>0) do
	begin
		k:=j mod mB;
		case k of
			0..9 : B:=chr(k+ord('0'))+B;
			10..15 : B:=chr(k+ord('a')-10)+B;
		end;
		j:=j div mB;
	end;
	write (' N2 :',B);
	readkey;
end.
 

جدیدترین ارسال ها

بالا