Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Перевод целого числа из кода Д1 в двоичную систему счисления




Основанием для алгоритма перевода является схема Горнера. Число, представленное в системе счисления с основанием q необходимо перевести в систему счисления с основанием p. Целое число Aq в системе счисления с основанием p можно представить следующим образом:

Aq=anpn+an-1pn-1+…+a1p+a0=a0+p(a1+p(a2+…+p(an+0))…)

(2)

Из (2) следует, что для получения цифр кода в системе счисления с основанием p необходимо делить число А, записанное в исходной системе счисления с основанием q на основание новой системы счисления p, записанное в исходной системе счисления. Остатки от последовательных делений будут давать цифры числа А в системе счисления с основанием p, начиная с младшего разряда. Если q>p, то результат перевода будет автоматически иметь правильный вид. Если же q<p, то цифры числа в новой системе счисления будут получаться как q-ичные коды p-ичных цифр.

В рассматриваемом случае q=10, p=2. следовательно остатки от деления десятичного числа на 2 дадут цифры кода двоичного числа, начиная с младшего разряда.

Пример. А=13710. Алгоритм перевода очевиден из таблицы 3.

Определим необходимое число разрядов двоичного кода.

103=2n. Отсюда n=]3/lg2[=10. Таким образом, для выполнения перевода нам потребуются следующие структурные элементы операционного автомата.

РгА[0-11] – регистр трехразрядного десятичного числа, записанного в коде Д1.

РгВ[0-9] – регистр двоичного числа.

СТ – счетчик, для контроля числа определенных двоичных цифр.

КС -= комбинационные схемы, одинаковые для всех трех тетрад кода Д1, выполняющие коррекции тетрад кода Д1 после сдвига РгА на один разряд вправо (деления А на 2). Комбинационные схемы разрабатываются перед выполнением численного примера перевода, чтобы одновременно с выполнением перевода контролировать правильности комбинационной схемы.

Таблица 15 Пример перевода целого числа из кода Д1 в двоичную систему счисления

Десятичное Число РгА РгВ СТ Комментарии
0001 0011 0111 ---------- РгА:=[A], CT:=10,
0000 1001 1011 1-------- РгВ[0]:=РгA[11], РгА:=R(1)РгА, CT:=CT-1, Во вторую и третью тетраду произошел перенос единицы из старшей тетрады, который принес лишние 3 единицы. Поэтому в этих тетрадах должна быть выполнена коррекция «-3».
  000 0110 1000 -1--------   РгА:=КС(РгА)Б(коррекция), СТ=0? НЕТ РгВ:=R(1)РгВ,
0000 0011 0100 01-------- РгВ[0]:=РгA[11], РгА:=R(1)РгА, CT:=CT-1,
    -01-------   Коррекция тетрад не выполняется, так как ни в одной тетраде нет переносов 1 из старшей тетрады. СТ=0? НЕТ РгВ:=R(1)РгВ,
0000 0001 1010 001------- РгВ[0]:=РгA[11], РгА:=R(1)РгА, CT:=CT-1,
  0000 0001 0111 -001-------   РгА:=КС(РгА)Б(коррекция), СТ=0? НЕТ РгВ:=R(1)РгВ,
0000 0000 1011 1001------ РгВ[0]:=РгA[11], РгА:=R(1)РгА, CT:=CT-1,
  0000 0000 1000 -1001-----   РгА:=КС(РгА)Б(коррекция), СТ=0? НЕТ РгВ:=R(1)РгВ,
0000 0000 0100 01001----- РгВ[0]:=РгA[11], РгА:=R(1)РгА, CT:=CT-1,
    -01001----   Коррекция тетрад не выполняется, так как ни в одной тетраде нет переносов 1 из старшей тетрады. СТ=0? НЕТ РгВ:=R(1)РгВ,
0000 0000 0010 001001---- РгВ[0]:=РгA[11], РгА:=R(1)РгА, CT:=CT-1,
    -001001---   Коррекция тетрад не выполняется, так как ни в одной тетраде нет переносов 1 из старшей тетрады. СТ=0? НЕТ РгВ:=R(1)РгВ,
0000 0000 0001 0001001--- РгВ[0]:=РгA[11], РгА:=R(1)РгА, CT:=CT-1,
    -0001001--   Коррекция тетрад не выполняется, так как ни в одной тетраде нет переносов 1 из старшей тетрады. СТ=0? НЕТ РгВ:=R(1)РгВ,
0000 0000 0000 10001001-- РгВ[0]:=РгA[11], РгА:=R(1)РгА, CT:=CT-1,
    010001001-   Коррекция тетрад не выполняется, так как ни в одной тетраде нет переносов 1 из старшей тетрады. СТ=0? НЕТ РгВ:=R(1)РгВ, РгА=0? ДА Прекращаем операции над РгА и продолжаем выполнять сдвиги РгВ и декремент счетчика СТ, пока СТ>0.
    -010001001 СТ=0? НЕТ РгВ:=R(1)РгВ,
    СТ=0? ДА Выход из цикла. Результат перевода находится в РгВ.

 

При построении ГСА необходимо обратить внимание на правильное размещение проверки значения счетчика, чтобы не допустить лишнего сдвига РгВ и искажения результата.

 

Билеьт

1. Дополнительный код:

где p – основание системы счисления.

Основание любой системы счисления представляется как 10. Пусть А=-0,1101. Дополнительный код определится следующим образом:

10,0000

-0,1101

1,0011 - это дополнительный код числа А. Чтобы получить его, достаточно инвертировать все цифры в естественной записи числа, включая знаковый разряд, до последней значащей цифры. Последняя значащая цифра не инвертируется. Знаковая цифра в дополнительном коде имеет вес 20=1. Поэтому он может принимать участие в выполнении арифметических операций наравне с числовыми разрядами. Дополнительный код позволяет выполнять операции алгебраического сложения. Результат при этом получается автоматически с правильным знаком. Если при сложении со знакового разряда спадает 1, она теряется.

 


Поделиться:

Дата добавления: 2015-01-19; просмотров: 90; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты