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

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

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

Как и при конвертировании целого числа, исходное число − правильная дробь, заданная в СС с основанием .. Необходимо представить ее в СС с основанием . Основополагающим, является предположение о том, что в исходная правильная дробь в требуемой системе счисления представляется в виде полинома 2.3

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

Умножение разложения (2.3) на позволяет получить произведение вида

Пусть

В полученном произведении содержится в виде целой части старшая цифра числа и дробная часть . Дробным число является потому, что имеет вес . Если дробь опять умножить на основание требуемой системы счисления , то целая часть произведения дает следующую цифру числа в новой системе счисления и т.д. Тогда правило перевода правильных дробей в новую систему счисления методом “цифра за цифрой” (“последовательное умножение”) формулируется следующим образом.

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

  1. Дробь, соответствующая числу умножается на по правилам умножения в системе с основанием .

  2. В полученном произведении отделяется целая часть, которая может быть равной нулю, а дробная часть снова умножается на с последующим отделением целой части.

  3. Эти операции повторяют

  • либо до получения нулевой дробной части произведения,

  • либо до заполнения разрядной сетки, выделенной для представление числа

  • либо до достижения заданной точности преобразования.

  1. . Старшая цифра результата перевода (то есть первая после запятой) совпадает с первой отделенной целой частью, вторая цифра результата — со второй отделенной целой частью и т. д.

Для чисел переводимых точно должен существовать конечный полином вида 2.3 в требуемой системе счисления. Таких чисел – не много, для них характерно формирование нулевой дробной части при переводе. Преобразование такого типа иллюстрируется Примерами 2.12, 2.13.

П ример 2.12 Преобразовать дробное число в двоичную систему счисления.

Результат преобразования конечен и равен

Метод обеспечивает взаимные преобразования чисел в системах с основаниями 2,8,16.

Пример 2.13 Преобразовать дробное двоичное число в восьмеричную систему счисления, а восьмеричное число в двоичную систему счисления.

Т аким образом, и

Из двоичной, восьмеричной и шестнадцатеричной систем возможны точные преобразование любого числа в десятичную систему счисления. Это положение является следствием следующего утверждения: любая степень двойки преобразуется в конечную десятичную дробь.

Так как основания двоичной, восьмеричной и шестнадцатеричной систем счисления это степени двойки, то соответствующие числа в десятичной системе представляются суммой конечных десятичных дробей – эквивалентов полиномиальных членов разложений 1.1, 1.2., поэтому являются конечным десятичным числом.

Метод имеет ограничения при преобразованиях из десятичных конечных дробей в системы с основанием 2,8,16.

Пример 2.14. Преобразовать дробные числа и соответственно в двоичную и восьмеричную системы счисления.

Пример иллюстрирует то, что преобразования некоторых десятичных чисел в системы с основанием 2,8,16 приводят к бесконечным дробям. Поэтому такие преобразования выполняются приближенно с контролем точности. Это свойство не является ограничением метода, а следует из того, что большинство (!) десятичных дробей не имеют точного аналога в системах счисления с основанием 2,8,16.

Обобщение свойств метода “цифра за цифрой” для дробных чисел приводит к следующим выводам:

Первое. Алгоритм обеспечивает преобразование из систем с основанием 2,8,16 в любую заданную систему с двоичным, восьмеричным, десятичным и шестнадцатеричным основанием.

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

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

Четвертое. Алгоритм хорошо формализован и эффективен для реализации на ЭВМ и МПТ.

Пятое. При преобразовании смешанного числа его целая и дробная часть преобразуются соответственно методами “деления лесенкой“ и “последовательного умножения“.