Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2013, 17:45   #1
nestquik
 
Регистрация: 26.10.2013
Сообщений: 6
По умолчанию Переход из любой системы счисления в любую

!!!Целые числа!!!
Необходимо организовать переход из любой системы счисления в любую через десятичную.
Например перевести число XYZ из 36 в 2:
1) XYZ(36)=44027(10);
2) 44027(10)=1010101111111011(2);
К сообщению прилагаю все, что получилось сделать.
К сожалению моя программа работает не правильно, т.к. она переводит все подряд например: можно ввести в исходное число=ABA и исходную систему счисления=10, выходную систему счисления=2 тогда вместо того, чтобы выбить ошибку оно выведет результат=10001100000.

Код:
 var
  Form1: TForm1;
  cs1, cs2: longint;
  td: string;
const
  digit: string[36] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

implementation
{$R *.dfm}

{функция перевода Dec числа в любую сс}
function FromDec(n, r: longint): string;
var
  s: string;
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;
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;

procedure TForm1.Button1Click(Sender: TObject);
begin
  td := Edit1.Text;
  cs1 := StrToInt(Edit2.Text);
  cs2 := StrToInt(Edit3.Text);
  Edit4.Text := FromDec(ToDec(td, cs1), cs2);
end;

end.
Вложения
Тип файла: zip Системы счисления.zip (141.8 Кб, 10 просмотров)

Последний раз редактировалось nestquik; 08.11.2013 в 17:54.
nestquik вне форума Ответить с цитированием
Старый 08.11.2013, 20:07   #2
nestquik
 
Регистрация: 26.10.2013
Сообщений: 6
Восклицание

На другом форуме помогли, если кому надо то вот:
Вложения
Тип файла: zip Системы счисления поправлено.zip (147.7 Кб, 44 просмотров)
nestquik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из десятиричной системы счисления в любую другую (Delphi) Asblue Помощь студентам 3 21.03.2012 13:21
Римские числа в любую систему счисления phreaker228 Помощь студентам 2 07.06.2011 13:59
прога для перевода из любой системы счисления в десятичную. nooby Помощь студентам 3 28.03.2011 02:03
Перевод из десятичной сист. счисления в любую другую(С++) lenk0belk0 Помощь студентам 0 08.10.2010 08:58
Delphi. Переводчик систем исчисления(из любой в любую) kikimka Помощь студентам 5 03.07.2009 14:05