Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
 Аватар для Titanum
1 / 1 / 2
Регистрация: 25.10.2011
Сообщений: 360

Перевод из десятичной системы счисления в любую другую

21.03.2012, 01:04. Показов 3146. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Мне нужно на Делфи написать код перевода из десятиричной системы счисления в любую другую.

Вот суть алгоритма:
b=2; v=1; i=0;
В то время когда будет b>0, возникает цикл, где a возвращает остаток от деления b,
и a:=(a-m)/b, i:=i+m*v.
Если а=0, тогда v=0,
иначе v=v*10.
Заканчивается цикл и возвращается значение i.

У меня получился бредовый код, выдающий ошибку, связанную с типами данных.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure algoritm;
begin
b:=2;
v:=1;
i:=0;
while (v>0) do
begin
  m:=a mod b;
  a:=(a-m)/b;
  i:=i+m*v;
  if a=0 then v:=0
  else v:=v*10
  end;
end;
return(i);
 
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2012, 01:04
Ответы с готовыми решениями:

Перевод чисел из десятичной СС в любую другую
Надо создать в Делфи программку которая переводит число из 10 СС в любую другую СС Надо использовать RadioButton (для курсового надо ) ...

Перевод дробной части числа из десятичной системы счисления в любую другую систему счисления
Здравствуйте как перевести дробной части числа из десятичной системы счисления в любую другую систему счисления. При переводе целых...

Перевод чисел из десятичной системы счисления в любую другую
Считать с клавиатуры целое неотрицательное число в десятичной системе счисления и основание новой системы счисления (целое число от 2 до...

6
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
21.03.2012, 01:13
В консоли перевод можно сделать так

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const a:array[0..15] of char=('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
 
var uk, n, m, i, k: integer;
    rez:string;
    b:array[1..30]  of byte;
 
Begin
write('Chislo = '); readln(n);
write('Sistema = '); readln(m);
uk:=0; rez:='';
while n>0 do
  begin
    inc(uk);
    b[uk]:=n mod m;
    n:=n div m;
  end;
 
writeln;
 
for i:=uk downto 1 do
  rez:=rez+a[b[i]];
 
writeln('Rezultat perevoda = ', rez);
readln;
end.
0
 Аватар для Titanum
1 / 1 / 2
Регистрация: 25.10.2011
Сообщений: 360
21.03.2012, 01:46  [ТС]
daslex, спасибо большое )) Но тут код немного другой. Мне нужно, чтобы процедура соответствовала именно этому алгоритму:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
b=2; 
v=1; 
i=0;
While b>0 do
begin
m = a mod b,
a:=(a-m)/b, 
i:=i+m*v.
Если а=0, тогда v=0, 
Иначе v=v*10.
Заканчивается цикл 
и возвращается значение i.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
21.03.2012, 07:51
Titanum, и как вы собрались переводить без типа string (при переводе надо клеить друг к другу, то есть конкатацию проводить, а не складывать в арифметическом смысле), и делать процедуру без параметров с одними глобалами это глупо (особенно для переменной цикла). Если хотите - на днях тут была решена эта задача стековым методом.
1
 Аватар для Titanum
1 / 1 / 2
Регистрация: 25.10.2011
Сообщений: 360
21.03.2012, 11:17  [ТС]
daslex и Psilon спасибо. Вообще мне нужно сделать именно тот алгоритм. Я так поняла, что это перевод из десятиричной системы счисления. Может это и не перевод из десятиричной системы счисления...
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
21.03.2012, 14:48
Titanum, есть алгоритм, позволяющий перевести в СС из меньшего кол-ва элементов, про алгоритм про перевод в более обширную СС не слышал ничего (из 16 в 10 легко, из 10 в 16 не получится).
1
 Аватар для Titanum
1 / 1 / 2
Регистрация: 25.10.2011
Сообщений: 360
21.03.2012, 14:59  [ТС]
Psilon, ну в данном примере это перевод из 10? Например из 10 в 2 можно же?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2012, 14:59
Помогаю со студенческими работами здесь

Перевод числа из десятичной системы счисления в любую другую
написать программу переводящую число из десятичной системы счисления в любую систему счисления

Перевести число из десятичной системы счисления в любую другую
Помогите ещё пожалуйста, нужно перевести число из десятичной системы счисления в любую другую... Заранее спасибо Добавлено через 1 час...

Перевод из любой системы счисления в любую другую систему счисления (2-36)
Привет. 1 курс факультета ИВТ, изучаю С++ только один месяц. Из основного прошли строки, массивы, начали разбирать функции. Преподаватель...

Перевод из 10-й системы счисления в любую другую
uses crt; var n:longint; k:integer; function Sym (n : integer) : char; {ôóíêèÿ ïåðåâîäà äåñÿòè÷íîãî ÷èñëà â ñèìâîëüíîå...

Перевод числа из 10 системы счисления в любую другую
Здравствуйте, я с php в отношениях умеренных и никак не могу понять одну вещь вот задание: Есть 3 поля текстовых и 1 кнопка в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru