|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Перевод из одной системы счисления в другую
1.Составить программу для перевода числа из десятичной системы счисления в двенадцатиричную.
|
#2
|
||||
|
||||
Код позаимствован с другого форума. Перевод в любую систему счисления от 2 до 36;
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; Label1: TLabel; procedure button1Click(Sender: TObject); end; const zn : string[36] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var Form1: TForm1; implementation {$R *.dfm} function Convert(chis:integer;osn:byte):string; begin result:=''; repeat result:=zn[(chis mod osn)+1] + result; chis:=chis div osn; until chis=0; end; procedure TForm1.button1Click(Sender: TObject); var s:string; //число intc,frcc:integer; //целая и дробная части osn:byte;//основание от 2 до 36 begin s:=Edit1.text; //число osn:=StrToint(Edit2.Text); if pos(',',s)<>0 then begin intc:=Strtoint(copy(s,1,pos(',',s)-1)); //целая часть frcc:=Strtoint(copy(s,pos(',',s)+1,length(s)-pos(',',s)));// дробная часть Label1.Caption:=Convert(intc,osn)+','+Convert(frcc,osn); end else if pos(',',s)=0 then Label1.Caption:=Convert(StrToInt(s),osn); end; end. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
Uuuu (02.03.2016)
|