Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_итог7.doc
Скачиваний:
89
Добавлен:
17.11.2019
Размер:
16.96 Mб
Скачать

2.5 Метод “цифра за цифрой”

Метод “цифра за цифрой” предусматривает последовательное получение цифр кода конвертированного числа.

При этом для целого числа, а равно для целой части смешанного числа конвертирование выполняется с использованием операции деления, а для дробного числа (дробной части смешанного числа) с использованием операции умножения. Конверсия для каждой части имеет свои особенности, поэтому соответствующие алгоритмы целесообразно рассмотреть отдельно.

2.5.1 Конверсия целого числа методом “цифра за цифрой”

Преобразуемое (исходное) число, заданное в исходной системе счисления с основанием , необходимо представить в СС с другим основанием

Базовым предположением, на котором строятся дальнейшие процедуры, является предположение о том, что исходное целое число в требуемой системе счисления представляется в виде 2.1

Задача конвертирования заключается в определении неизвестных пока полиномиальных коэффициентов (цифр) – Это выполняется путем деления исходного числа на основание требуемой системы счисления. Очевидно, что при конвертировании разрядность числа может измениться по сравнению с исходной.

Деление на , выполненное по правилам исходной системы счисления приводит к результату

Если обозначить полученное частное как , то результат деления можно записать как

Таким образом, младшая цифра искомого представления в новой системе счисления − есть остаток от деления исходного числа на . Если продолжить деление частного на , то получается результат

Результатом второго деления является частное и остаток.

Остаток от второго деления есть вторая цифра исходного числа в системе счисления.

Таким образом, последовательное деление обеспечивает последовательное получение цифр исходного числа в новой системе счисления( “цифра за цифрой”).

Поэтому алгоритм преобразования целого числа методом “цифра за цифрой” может быть сформулирован в следующем виде.

Процедура 2.5 Конвертация целых чисел методом “цифра за цифрой”

  1. Число делится на по правилам деления системы с основанием до получения остатка.

  2. Если частное от деления - больше делителя, то частное становится делимым и процесс деления на продолжается.

  3. Как только очередное частное станет меньше , процесс деления на прекращается. Остаток, полученный при первом делении на , представляет цифру разряда результата с весом в требуемой системе счисления. Остаток от второго деления представляет цифру разряда результата с весом и т. д.

  4. Последний остаток является старшей цифрой результата, имеющей вес .

Особенности метода иллюстрируются следующими примерами.

П ример 2.10. Выполнить, используя метод “цифра за цифрой”, конвертацию целых десятичных чисел , соответственно, в двоичную, восьмеричную и шестнадцатеричную системы счисления.

Преобразования приводят к результатам: Обозначение 8(mod10) означает, что деление выполняется по правилам десятичной системы счисления.

П ример 2.11. Выполнить, используя метод “цифра за цифрой”, конвертацию целых чисел , соответственно, в десятичную, шестнадцатеричную и BCD системы счисления.

Преобразования приводят к результатам

Целесообразно выделить несколько свойств и особенностей алгоритма “цифра за цифрой”, используемого для преобразований целых чисел.

Первое. Алгоритм теоретически обеспечивает преобразование из системы с любым основанием в заданную систему с любым основанием. Это свойство иллюстрируется Примерами 2.10,2.11.

Второе. Преобразования необходимо выполнять по правилам исходной системы счисления, что не всегда удобно и привычно.

Третье. Область преимущественного использования метода для “ручных” преобразований – преобразование из десятичного представления числа в двоичное, а также в восьмеричное и в шестнадцатеричное.

Четвертое. Алгоритм хорошо формализован и, как следствие, эффективен не только для ручных преобразований, так и для реализации на ЭВМ и МПТ.