![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
![]() | Метод “ цифра за цифрой для правильной дроби (”последовательное умножение “) |
Перевод правильных дробей из системы счисления с основанием q исх в систему с основанием q тр осуществляется так.
Как и при конвертировании целого числа, исходное число − правильная дробь, заданная в СС с основанием q исх. Необходимо представить ее в СС с основанием h. В требуемой системе счисления (основание – h) правильная дробь X q является полиномом вида
X q = a -1 * h -1 +a -2 * h -2 +… a -M+1 * h − M+1 + a -M * h − M (2.2)
Очевидно, что при конвертировании число разрядов для представления исходного числа в новой системе счисления может измениться. Поэтому целесообразно вместо обозначения m, применявшегося ранее в (2.2) обозначать новую разрядность как М (. M ≠ m).
Как и ранее, задача конвертирования заключается в определении неизвестных пока полиномиальных коэффициентов a -1, a -2, …, a -M.
Умножение полинома (1.4) на h позволяет получить произведение вида
X q* h = a -1 +a -2 * h -1 +… a -M+1 * h − M+2 + a -M * h − M+1 = a -1+ z1
В полученном произведении содержится в виде целой части старшая цифра числа X q и дробная часть z1. Если опять умножить правильную дробь z1 на основание h, то целая часть произведения дает следующую цифру числа в новой системе счисления и т.д. Правило перевода правильных дробей в новую систему счисления методом “цифра за цифрой” (“последовательное умножение”) формулируется следующим образом.
Дробь, соответствующая числу Xq, умножается на q тр по правилам умножения в системе с основанием q исх.
В полученном произведении отделяется целая часть, которая может быть равной нулю, а дробная часть снова умножается на q тр с последующим отделением целой части.
Эти операции повторяют
. Старшая цифра результата перевода (то есть первая после запятой) совпадает с первой отделенной целой частью, вторая цифра результата — со второй отделенной целой частью и т. д.
Нулевая дробная часть произведения формируется лишь для небольшого числа преобразуемых чисел. Для таких чисел должен существовать конечный полином вида 1.2 в требуемой системе счисления. Преобразование такого типа иллюстрируется Примерами 10, 11.
Пример 10.. Преобразовать десятичное число 0,185D в двоичную систему счисления. Формализованная запись задания 0,185D → XB.
Результат преобразования конечен и имеет вид 0,185D = 0,0011B
Пример 11. П реобразовать двоичную правильную дробь XB =0, 01011В в восьмеричную систему счисления. Формализованная запись задания 0,01011В → XQ.
Применяется последовательное умножение дробной части двоичного числа на основание восьмеричной системы, представленное в виде двоичного целого. Преобразования выполняются по правилам двоичной системы счисления.
Таким образом, 0,01011В = 0,26Q,
Наиболее вероятны случаи либо ограничения количества разрядов числа Xq в новой системе счисления, либо достижения заданной точности преобразования.
Для вычислительных систем как правила имеет место ограничение разрядной сетки для представления числа в новой системе счисления. Эти случаи иллюстрируются примерами 12,13.
Пример 12. Преобразовать дробное двоичное число X2=0,01011В в десятичную систему счислении. Дополнительные требования: полученное десятичное число должно содержать не более трех разрядов для представления мантиссы. Формализованная запись задания 0,01011В → XD.
Применяется последовательное умножение дробной части двоичного числа на основание десятичной системы, представленное в виде двоичного целого. Преобразования выполняются по правилам двоичной системы счисления.
Таким образом, заданное двоичное число 0,01011B в десятичной системе счисления представляется приближенно, и равно 0,343D.
Следующий пример иллюстрирует то, что даже при бесконечной разрядной сетке преобразования могут не привести к конечному числу в новой системе счисления.
Пример 13. Преобразовать дробное десятичное число X2=0,1D в двоичную систему счисления. Формализованная запись задания 0,1D → XB..
Как и при анализе методов конвертирования целых чисел необходимо выделить несколько основных свойств алгоритма “последовательное умножение”.
Первое. Алгоритм теоретически обеспечивает преобразование системы с любым основанием в заданную систему с любым основанием.
Второе. Преобразования необходимо выполнять по правилам исходной системы счисления, что не всегда удобно и привычно.
Третье. Область преимущественного использования метода для “ручных “ преобразований – преобразование из десятичного представления числа в двоичное.
Четвертое. Алгоритм хорошо формализован и эффективен для реализации на ЭВМ и МПТ.
Пятое. Конечных преобразований следует ожидать не всегда. Точность преобразований может быть ограничена длиной разрядной сетки для представления дробной части. Обычно перевод дробей из системы в систему производят приближенно.
![]() | Метод “ цифра за цифрой“ для смешанного числа |
При преобразовании смешанного числа его целая и дробная часть преобразуются соответственно методами “деления лесенкой“ и “последовательного умножения“. Далее из полученных целого и дробного чисел в новой системе счисления составляется (конкетенация) преобразованное смешанное число. Целая и дробная часть числа разделяются запятой.
![]() | 2.4 Специфические преобразования в классе систем с основанием “ целая степень двойки“ |
![]() |
где R – целое число
Очевидно, что практический интерес представляют взаимные преобразования в двоичной, восьмеричной и шестнадцатеричной системах счислениях. Эти задачи рассматриваются в следующих разделах
Дата публикования: 2015-04-10; Прочитано: 239 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!