Главная > Справочник по цифровой схемотехнике
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

1.5. ДВОИЧНО-ДЕСЯТИЧНЫЕ КОДЫ

Для представления информации в десятичной системе счисления и выполнения операций над десятичными числами в цифровых устройствах используется двоично-десятичное кодирование [18], при котором каждая десятичная цифра представляется группой двоичных цифр. Число битов в таких группах строго фиксируется должно быть не менее четырех) с сохранением всех левых нулевых разрядов. В практике используется несколько разновидностей двоично-десятичных кодов (табл. 1.2), сохраняющих свое значение благодаря полезным специфическим особенностям.

Таблица 1.2

Наиболее естественным и популярным считается упоминавшийся (см. гл. 1.2) код прямого замещения, в котором каждая цифра десятичного числа заменяется соответствующим четырехразрядным двоичным числом. Его другое название код 8421 отражает значение весовых множителей, приписываемых соответствующим битам в кодирующей группе, в связи с чем называется также взвешенным кодом. Удобства этого кода проявляются при машинном переводе из десятичной системы в двоичную и обратно, а также при суммировании на обычных двоичных сумматорах благодаря его аддитивности (сумма кодов двух цифр представляет код суммы).

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

Одни из них код 2421 также взвешенный, но старший разряд имеет вес не 8, а 2. Его положительная особенность состоит в том, что замена в кодирующей тетраде нулей на единицы, а единиц на нули превращает каждую десятичную цифру

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

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

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

Так, в коде 2 из 5 каждая десятичная цифра представляется пятью разрядами, из которых два и только два содержат единицы. Если появится ошибка в одном из двоичных разрядов, т. е. если нуль превратится в единицу или единица превратится в нуль, то общее число единиц окажется больше или меньше двух, что можно обнаружить простым их подсчетом. Другой способ обнаружения одиночной ошибки основан на использовании бита, которым дополняется какой-либо код, для контроля четности. Значение дополнительного бита выбирается таким, чтобы общее число единиц в кодирующей группе всегда было четным или нечетным (в зависимости от принятого правила контроля). Рассмотренные способы обнаруживают одиночные ошибки, точнее, нечетное количество ошибок, по не реагируют на двойные и вообще четное количество ошибок. Существуют более сложные способы построения корректирующих кодов, используемых в технике связи, но в обычных вычислительных системах из-за громоздкости они не применяются.

Операции над десятичными числами выполняются с помощью несколько дополненной двоичной арифметики. Так, при сложении двух чисел в коде прямого замещения 8421 необходимо добавить корректирующее слагаемое 0110а к каждой тетраде, в которой в процессе суммирования получена недопустимая цифра (1010, 1011, 1100, 1101, 1110) или возник перенос в следующую тетраду. Например:

При вычитании чисел в коде 8421 коррекция сводится к вычитанию , из каждой тетрады разности, которая потребовала заем. Например:

Сложение и вычитание десятичных чисел со знаками выполняются с использованием обратного или дополнительного кодов аналогично соответствующим операциям, рассмотренным в §1.4.

1
Оглавление
email@scask.ru