Помощь - Поиск - Пользователи - Календарь
Полная версия: Из 4 в2 присваиванием
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Вероника
У меня есть задача я её решила(помогли) но препод сказал можно(нужно) проще!
Дано число А в системе с основанием 4 в формате string
Перевести в систему с основанием 2
Надо каждому числу присвоить число в соответствуещуй системе счисления:
(4)=(2)
0=00
1=01
2=10
3=11
А как это сделать я не знаю!
Помогите пожалуйста!
volvo
А что, поиск использовать уже не модно? Вот тут ведь лежит готовая функция для перевода из 4 в 2 систему счисления: Системы счисления
Вероника
Нет поиск ещё в моде, но я почти такую же сдала и мне написали "не зачтено зачем переводить сначала в 10 потом в 2 когда каждому числу в 4-ичной соответствует пара цифр в двоичной!" Вот так поэтому я и спросила как сделать как он просит!?

Добавлено:
Ой прости не до конца прочитала твою ссылку но там в конце не написано как выводить на экран!
volvo
Перечитай еще раз - на экран там все выводится прямо в процессе преобразования... smile.gif
Хотя, на самом деле, можно сделать ЕЩЕ проще:
procedure QuarToBin(s: string);
const
q_b: array['0' .. '3'] of string[2] = { обрати внимание на индексы !!! }
('00', '01', '10', '11');
var
i: integer;
begin
{ удаляем ведущие нули }
while s[1] = '0' do delete(s, 1, 1);

for i := 1 to length(s) do
write( q_b[ s[i] ] ); { <-- А вот и вывод, кстати }
end;
Вероника
Объясни непонятлевой почему в конце енд с точкой и запятой?? Ведь по идеи должно быть end. !!!
volvo
Цитата
почему в конце енд с точкой и запятой?? Ведь по идеи должно быть end.
Это еще почему? Я же привел не программу полностью, а только одну процедуру... А процедура завершается ";"
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.