Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Перевод правильной дроби из кода Д1 в двоичную систему счисления
Перевод выполняется за n+1 такт, где n – число двоичных разрядов, обеспечивающих точность перевода такую же, как у исходного десятичного числа. Необходимое сило разрядов может быть определено из выражения где k – число разрядов десятичного числа, определяющее его точность. Чтобы определить алгоритм перевода числа из системы счисления с основанием q в систему счисления с основанием p, запишем числоAq в виде разложения по степеням 2: Aq=a1p-1+a2p-2+…+anp-n=p-1(a1+p-1(a2+…+p-1(an+0))…). (1) Полученное выражение есть схема Горнера, определяющая последовательность действий при переводе. Умножая Aq на p, получим смешанную дробь, целая часть которой будет равна первой цифре числа в системе счисления с основанием q. Далее, умножая дробную часть получившегося числа A’q на p, будем получать в целой части получающейся смешанной дроби значения очередных цифр в системе счисления с основанием р. При этом, если q> p, то цифры числа в новой системе счисления будут сразу получаться правильными. Если же p> q, то целая часть смешанной дроби, получающейся в результате умножения q-ичной правильной дроби на основание новой системы счисления будет представлять очередную цифру р-ичного числа кодовой последовательностью в q-ичной системе счисления. Из выражения (1) следует следующий алгоритм перевода правильной дроби из кода Д1 в двоичную систему счисления, представленный в табл. 1Примем значение исходного числа равным А10=0.13710. Число необходимых двоичных разрядов не меньше (3/lg2), т.е. больше или равно 10. Следовательно, необходимо принять число тактов равным 11 для последующего округления результата. В коде Д1 наше число будет иметь вид: А10= 0001 0011 0111. Умножение на 2 соответствует сдвигу регистра, в котором хранится число А на один разряд влево. Исходное число в коде Д1 хранится в РгА, Двоичный код записывается в РгВ последовательно разряд за разрядом, начиная со старшего разряда, путем сдвига РгВ влево. В таблице, представляющей алгоритм перевода, будем также записывать результат умножения десятичного числа на 2 в десятичной системе счисления (столбец А10), чтобы контролировать результат выполнения операций сдвига и коррекции в коде Д1. Таблица также содержит столбец СТ, в котором учитывается число уже выполненных тактов. Критерием завершения операции перевода является СТ=0. Таблица 1 Перевод правильных дробей из кода Д1 в двоичную систему счисления
Результат получается отбрасыванием младшего разряда суммы после округления. Таким образом схема операционного автомата должна содержать двенадцатиразрядный РгА, одиннадцатиразрядный РгВ, счетчик числа циклов СТ и сумматор для выполнения округления. В этом случае нет необходимости в использовании полного двоичного сумматора. Поэтому можно применить комбинационную схему, выполняющую подсуммирование 1 в младший разряд полученного двоичного числа. Следует иметь в виду, что запятая в данном случае фиксирована слева от старшего разряда. Коррекции в коде Д1 при сдвиге влево выполняются:
В любом случае коррекция в коде Д1 состоит в подсуммировании +6 к тетраде, требующей коррекции. При коррекции формируется символ переноса в старшую тетраду. Поэтому запись цифры из целой части дроби в коде Д1 в РгВ [10] следует производить после выполнения коррекции. |
Последнее изменение этой страницы: 2019-03-29; Просмотров: 357; Нарушение авторского права страницы