Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Для новичков > [Исходники][Delphi][Пример]Перевод числа из десятичной системы счисления в двоичную |
Автор: THandle 24.3.2008, 19:15 | ||||||||||||||||||
Задание. Дана строка изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа. Решение.
Объяснение. iDch - наше десятичное число. sDv - двоичное.
Вводим десятичное число.
В цикле делаем следующие действия:
Получаем остаток от деления десятичного числа на 2.
Делим десятичное число на два без остатка.
Добавляем в начало нашего двоичного числа остаток от деления
Если поделенное на 2 без остатка десятичное число меньше двух, то цикл завершает работу, так как если десятичное число меньше 2, оно равно либо 1, либо 0, а эти цифры переводить уже не нало, так как они сами собой и останутся.
Ставим в начало нашего двоичного числа оставшееся после цикла десятичное число(1 или 0).
Выводим на экран десятичное число и его представление в двоичной системе. Конец программы. В прикрепленном к сообщению файле находится полный проект этой программы. |
Автор: Alix 24.3.2008, 22:06 | ||
А можно сразу универсальную написать
|
Автор: Demogargon 13.4.2008, 14:54 |
Нолик лишний после 9, в строке где ты массив создаешь. |
Автор: Alix 14.4.2008, 11:40 |
точно, молодец! а я сейчас смотрю и думаю, почему в массиве 37 элементов, когда должно быть 36... )) заодно еще одна ошибка, если передается число ноль, то возвращается пустая строка, как пофиксить, думаю, понятно. |
Автор: THandle 14.4.2008, 12:03 | ||
Demogargon, молодец, заметил. Пока сделал вот так:
В FAQ тоже подправил. |
Автор: mrDollar93 20.1.2012, 20:20 | ||||
Хороший пример, но не пойму зачем cSymbols описывать как массив, если тип STRING и есть тот же массив var cSymbols: string; ... begin cSymbols:='0123456...'; ... |