Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- cs1,cs2,res,change,pp,res2,oo:integer;
- TD,cop1,cop2:string;
- label 1,2;
- {функция перевода Dec числа в любую Систему Счисления}
- function FromDec(n,r:longint):string;
- var
- s:String;
- const
- digit:string[16]='0123456789ABCDEF';
- begin
- s:='';
- repeat
- s:=digit[(n mod r)+1]+s;
- n:=n div r;
- until n=0;
- FromDec:=s;
- end;
- {функция перевода любой Системы Счисления в Dec}
- function ToDec(n:string;r:longint):longint;
- var
- m,i:longint;
- const
- digit:string[16]='0123456789ABCDEF';
- begin
- m:=0;
- while n[1]='0' do
- delete(n,1,1);
- for i:=1 to length(n) do
- m:=m*r+pos(n[i],digit)-1;
- ToDec:=m;
- end;
- {основная часть программы}
- begin
- writeln('Введите из какой Системы Счисления:');
- repeat
- readln(cs1);
- until
- (cs1>=2) and (cs1<=16);
- writeln('Введите число в соответствии с Системой Счисления:');
- readln(TD);
- writeln('Введите в какую Систему Счисления:');
- repeat
- readln(cs2);
- until
- (cs2>=2) and (cs2<=16);
- pp:=pos ('.',TD);
- if (pp=0) then goto 1 else goto 2;
- 1:writeln('Перевод из ',cs1,' Cистемы Счисления —> в ',cs2,' Cистему Cчисления:');
- writeln(FromDec(ToDec(TD,cs1),cs2));
- 2:begin
- cop1:=Copy(td,pp+1,length(td)-1);
- cop2:=Copy(td,1,pp-1);
- oo:=length(cop1);
- if (oo=2) then begin insert ('0',cop1,oo+1); end;
- if (oo=5) then begin insert ('0',cop1,oo+1); end;
- if (oo=8) then begin insert ('0',cop1,oo+1); end;
- if (oo=1) then begin insert ('00',cop1,oo+1); end;
- if (oo=4) then begin insert ('00',cop1,oo+1); end;
- if (oo=7) then begin insert ('00',cop1,oo+1); end;
- res:=ToDec(cop1,cs1);
- res2:=ToDec(cop2,cs1);
- writeln('Перевод из ',cs1,' Cистемы Счисления —> в ',cs2,' Cистему Cчисления:');
- write(FromDec(res2,cs2),'.',FromDec(res,cs2));
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement