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

ДВОИЧНО-ДЕСЯТИЧНАЯ СИСТЕМА

Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Принцип построения этой системы достаточно прост: каждая десятичная цифра преобразуется прямо в свой десятичный эквивалент из 4 бит, например: 369110=0011 0110 1001 0001DEC:

Десятичное число 3 6 9 1 Двоично-десятичное число 0011 0110 1001 0001

Преобразуем двоично-десятичное число 1000 0000 0111 0010 в его десятичный эквивалент. Каждая группа из 4 бит преобразуется в её десятичный эквивалент. Получим 1000 0000 0111 0010DEC = 807210:

Двоично-десятичное число 1000 0000 0111 0010 Десятичное число 8 0 7 2

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

Преобразование двоичных чисел в двоично-десятичные

Арифметико-логическое устройство AVR-микроконтроллеров (как и других микропроцессоров) выполняет элементарные арифметические и логические операции над числами, представленными в двоичном коде. В двоичном коде считываются результаты преобразования АЦП, в двоичном коде (в формате целых чисел или чисел с плавающей точкой) удобно выполнять обработку результатов измерения. Однако, когда окончательный результат отображается на индикаторе, он должен быть преобразован в десятичный формат, удобный для восприятия человеком.

В данном разделе рассматриваются программы преобразования двоичных чисел в двоично-десятичные.

1. Форматы представления десятичных чисел

алгоритм преобразования двоично десятичного кода в двоичный код. . алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка . Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Неупакованный десятичный код является подмножеством международной таблицы кодирования символов ASCII (Таблица 1). Видно, что для хранения неупакованных десятичных чисел требуется в два раза больше памяти, так как каждая цифра представляется 8-битным кодом. Таблица 1: ASCII-коды десятичных цифр алгоритм преобразования двоично десятичного кода в двоичный код. . алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка . Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

2. Преобразование целых 16-битных чисел в двоично-десятичные числа

На сайте www.atmel.com предлагается программа «bin2bcd16» для преобразования целых 16-битных двоичных чисел в двоично-десятичные упакованные числа. В данной статье рассматривается программа «bin16bcd5» (см. Приложение, Программа 1), написанная Терешкиным А. В. согласно алгоритму, изложенному в [1], и выполняющая ту же задачу. Последняя программа по быстродействию, длине кода и количеству используемых регистров оказалась более эффективной, чем первая.

Алгоритм программы «bin16bcd5» заключается в следующем. Предположим, что имеется целое беззнаковое 16-битное число (диапазон от 0 до 65535). Очевидно, что необходимо найти 5 десятичных цифр. Способ преобразования заключается в том, чтобы, вычитая из исходного числа число 10000, сначала определить десятичную цифру десятков тысяч. Затем находится цифра тысяч последовательным вычитанием числа 1000 и т. д. Вычитание каждый раз производится до получения отрицательной разности с подсчетом числа вычитаний. При переходе к определению каждого следующего десятичного разряда в регистрах исходного числа восстанавливается последняя положительная разность. После того, как будет найдена десятичная цифра десятков, в регистрах исходного числа останется десятичная цифра единиц.

Программа «bin16ASCII5» (см. Приложение, Программа 2) преобразует целое двоичное 16-битное число в десятичное неупакованное число. При этом используется тот же алгоритм.

3. Преобразование двоичной дроби в двоично-десятичную дробь

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

Из этого представления следует алгоритм преобразования (Рис. 2), который содержит m шагов. На каждом шаге к двоично-десятичному результату прибавляется очередная двоичная цифра и весь результат делится на 2.

На изображены двоичный регистр, который содержит исходную двоичную дробь и регистр двоично-десятичного упакованного результата. Для наглядности у обоих регистров также показаны разряд единиц и положение точки, которые в памяти микропроцессора никак не представлены, но положение которых всегда строго оговорено. Количество циклов рассматриваемого алгоритма равно количеству бит двоичной дроби. Разрядность двоично-десятичного регистра определяется требуемой точностью вычислений.

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

При делении на два двоично-десятичного упакованного числа, так же как и при делении двоичного числа, его сдвигают вправо на один разряд. При этом на два делится каждая тетрада, то есть каждая десятичная цифра. При делении четной десятичной цифры в соответствующем разряде снова получается десятичная цифра, и никакой коррекции не требуется. При делении на 2 нечетной десятичной цифры остаток, равный 5, должен быть добавлен к более младшему десятичному разряду, но на самом деле при двоичном сдвиге в более младшую тетраду добавляется число 8 (вес старшего разряда тетрады). Поэтому требуется коррекция результата, которая заключается в вычитании числа 3 из содержимого тех тетрад, которые после сдвига вправо имеют установленные старшие разряды.

4. Преобразование чисел с плавающей точкой в двоично-десятичные числа

Представление чисел с плавающей точкой имеет следующий вид:

Такое представление часто используется и в десятичной системе счисления для представления очень больших или очень малых чисел. Мантисса и порядок представляют собой целые знаковые числа. Знак мантиссы является знаком всего числа. Порядок показывает истинное положение точки вместо того, которое она занимает в изображении мантиссы. Двоичное число с плавающей точкой отличается от привычного нам десятичного тем, что точка является двоичной, то есть порядок показывает на количество двоичных (а не десятичных) разрядов, на которое необходимо переместить эту точку влево или вправо.

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

Источник

Перевод из десятичной системы счисления в двоичную

Перед тем как перейти к алгоритму перевода, вспомним алфавит двоичной и десятичной системы счисления:

ОснованиеНазваниеАлфавит
2Двоичная0, 1
10Десятичная0, 1, 2, 3, 4, 5, 6, 7, 8, 9

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

Алгоритм перевода целых десятичных чисел в двоичную систему счисления

Пример 1 : перевести десятичное число 123 в двоичную систему счисления

Для наглядности произведем деление «столбиком». Решение будет выглядеть следующим образом:

алгоритм преобразования двоично десятичного кода в двоичный код. perevod 123 iz 10 v 2. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-perevod 123 iz 10 v 2. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка perevod 123 iz 10 v 2. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

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

Алгоритм перевода десятичной дроби в двоичную систему

Пример 2: перевести число 0,123 в двоичную систему.

Решение будет выглядеть следующим образом:

0.123 ∙ 2 = 0.246 (0)
0.246 ∙ 2 = 0.492 (0)
0.492 ∙ 2 = 0.984 (0)
0.984 ∙ 2 = 1.968 (1)
0.968 ∙ 2 = 1.936 (1)
0.936 ∙ 2 = 1.872 (1)
0.872 ∙ 2 = 1.744 (1)
0.744 ∙ 2 = 1.488 (1)
0.488 ∙ 2 = 0.976 (0)
0.976 ∙ 2 = 1.952 (1)
0.952 ∙ 2 = 1.904 (1)

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

Перевод дробного десятичного числа в двоичную систему

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

Пример 3: перевести число 110,625 из десятичной системы в двоичную

Для решения примера потребуется отдельно перевести 110 и отдельно 0,625 из десятичной системы в двоичную, используя вышеизложенные алгоритмы. Таким образом переведя 110, получим:

алгоритм преобразования двоично десятичного кода в двоичный код. perevod 110 iz 10 v 2. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-perevod 110 iz 10 v 2. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка perevod 110 iz 10 v 2. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Перевод десятичной дроби 0,625 выглядит так:

0.625 ∙ 2 = 1.25 (1)
0.25 ∙ 2 = 0.5 (0)
0.5 ∙ 2 = 1 (1)

Теперь осталось соединить результаты перевода. Таким образом: 110.62510=1101110.1012

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

Источник

Преобразование двоичного кода в двоично-десятичный

При преобразовании четырехразрядного двоичного числа в двоично-десятичное: числа до 9 включительно остаются без изменения.

Числа свыше 9, представляющие собой псевдотетрады, подвергаются коррекции.

Двоичные числа, содержащие более 4 разрядов, можно преобразовать

аналогичным образом. Для этого двоичное чис­ло, начиная со старшего разряда, «вдви­гается» справа налево в двоично-десятич­ную разрядную сетку, как показано на рис. 6. Когда какая-либо единица пере­секает границу между двоично-десятичны­ми разрядами, возникает ошибка. Действи­тельно, в случае двоичного числа разряд­ное значение этой единицы при сдвиге увеличивается с 8 до 16, тогда как для двоично-десятичного числа оно возрастает от 8 до 10. Поэтому на этом этапе двоич­но-десятичное число как бы уменьшается на 6. Следовательно, для коррекции необ­ходимо прибавлять 6 к числу во всех слу­чаях, когда единица пересекает границу ме­жду двоично-десятичными разрядами. К числу десятков надо прибавить 6, если единица перейдет в разряд сотен, и т.д.

Составленное таким образом двоично-де­сятичное число имеет правильное значение, однако оно может еще содержать псевдо­тетрады. Чтобы этого не было, возникаю­щие псевдотетрады корректируют непо­средственно после каждого шага сдвига, прибавляя 6 к соответствующей декаде с переносом 1 в следующую.

алгоритм преобразования двоично десятичного кода в двоичный код. image286. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image286. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image286. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис. 6. Преобразование двоичного кода в двоично-десятичный,

в качестве примера взя­то число 218.

Вместо того чтобы прибавлять после сдвига 6, с тем же успехом можно перед сдвигом прибавлять 3. Необходимость та­кой коррекции можно также определить перед сдвигом. Если значение тетрады меньше или равно 4 =- 01002, то при после­дующем сдвиге не произойдет перехода единицы через границу между декадами и не возникнут псевдотетрады. Таким образом, такую тетраду можно будет без изменений сдвигать влево. Если значение тетрады перед сдвигом равно 5, 6 или 7, то также не произойдет перехода единицы че­рез границу, поскольку старший разряд ра­вен нулю. Однако при этом возникнут псевдотетрады: десять, двенадцать, четыр­надцать или одиннадцать, тринадцать, пят­надцать (в зависимости от того, будет ли в младший разряд сдвинут нуль или еди­ница). Следовательно, в этих случаях необ­ходима коррекция псевдотетрад путем прибавления 3 перед сдвигом.

Если значение тетрады составляет 8 или 9, необходимо корректировать пере­ход единицы через границу между декада­ми. Поэтому после каждого сдвига по­являются правильные тетрады 6 или 7 либо 8 или 9. При такой коррекции псев­дотетрад полученное значение каждой те­трады не может быть более 9. Этим ис­черпываются все возможности, и мы полу­чим таблицу коррекции 2.

Преобразование двоичного числа в со­ответствующее двоично-десятичное можно реализовать, сдвигая влево двоичное чис­ло, записанное в регистре сдвига, разделен­ном на четырехразрядные секции. Каждая секция должна включать корректирующий элемент, который преобразует содержание регистра перед каждым последующим сдвигом в соответствии с таблицей пере­ключений 3.

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

Таблица 2.Таблица переключений корректирующею элемен­та

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

алгоритм преобразования двоично десятичного кода в двоичный код. image288. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image288. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image288. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

«сдвигателя» границы двоично-десятичных раз­рядов, а каждая полученная тетрада кор­ректируется в соответствии с табл. 2. Следовательно, для «сдвига» разрядной сетки с помощью комбинационной схемы на каждую декаду и каждый шаг сдвига необходимо по одному корректирующему элементу. Эта схема несколько упрощает­ся, если исключить те корректирующие элементы, ко входам которых подключено менее трех двоичных разрядов, поскольку

в этом случае коррекция не нужна. На рис. 7 приведена комбинационная схема для преобразования 8-разрядного двоично­го числа. Эту схему легко распространить на любое число разрядов. Элементы, не ис­пользуемые для преобразования 8-разряд­ного числа, показаны пунктиром. С по­мощью записанных здесь чисел можно проследить за процессом преобразования кода для примера, приведенного

Корректирующие комбинационные схемы поставляются в виде программи­руемых изготовителем микросхем ПЗУ ем­костью 32 байта. В одном корпусе разме­щаются три корректирующих элемента (рис. 8). Так как, согласно рис. 7, младший разряд не подается на корректи­рующую схему, то с помощью одной ИС можно преобразовать 6-разрядное двоич­ное число, а для 8-разрядного числа нужны три таких ИС.

Источник

Алгоритм преобразования двоично десятичного кода в двоичный код

В вычислительной технике существует задача преобразования двоичного числа в двоично-десятичное. Чаще всего — для последующего вывода на индикацию.
В международных терминах это преобразование обозначается как BIDEC.

Существует довольно много алгоритмов преобразования BIDEC.
Расмотрим три самых распространенных из них.

Обычно называется «плюс 3 и сдвиг».

Этот алгоритм основан на двоичном сдвиговом регистре для исходного числа и
двоично-десятичных сдвиговых регистрах для результата.
При работе алгоритма биты из двоичного регистра, начиная со старшего разряда, по одному вдвигаются в двоично-десятичный регистр, начиная с младшего разряда.
В терминах программного обеспечения, в двоичном регистре производится операция «СДВИГ ВЛЕВО ЧЕРЕЗ ПЕРЕНОС», а в двоично-десятичных регистрах,- та же операция, но для каждой декады, начиная с младшей. Далее анализируется каждая двоично-десятичная декада и если ее значение превышает 4, то к этой декаде прибавляется число 3.
После «выдвигания» последнего бита в двоично-десятичном регистре получается десятичный эквивалент двоичного числа.
Данный алгоритм чаще всего реализовывался аппаратно, еще в ту пору, когда не существовало микропроцессоров и персональных компьютеров.
И в настоящее время этот алгоритм довольно широко используется в его программной интерпретации в самых разных устройствах с выводом результатов на индикацию,- вольтметрах, термометрах, частотомерах, часах. Особенно это характерно для устройств на базе микроконтроллеров в исполнении радиолюбителей.

Блок-схема Алгоритма «плюс 3 и сдвиг»

алгоритм преобразования двоично десятичного кода в двоичный код. shema plus 3 and shift. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-shema plus 3 and shift. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка shema plus 3 and shift. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Алгоритм «Плюс 3 и сдвиг».
Например: для преобразования данных
с АЦП 10 бит.

алгоритм преобразования двоично десятичного кода в двоичный код. algoritm plus 3 and shift. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-algoritm plus 3 and shift. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка algoritm plus 3 and shift. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Другой алгоритм BIDEC похож на «деление в столбик» и по сути представляет собой разложение двоичного числа на десятичные множители.
Например, исходное двоичное число 65535 будет представлено в виде пяти десятичных тетрад как 6х10000 + 5х1000 + 5х100 + 3х10 + 5х1.
Данный алгоритм гораздо более привычен и, соответственно, более понятен, чем «плюс 3 и сдвиг». А для реализации этого алгоритма надо всего лишь находить максимальный множитель для каждой декады, начиная со старшей ( как и при «делении в столбик»).

Алгоритм «деление в столбик».
Например: для преобразования данных
с АЦП 10 бит.

алгоритм преобразования двоично десятичного кода в двоичный код. algoritm divide collumn. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-algoritm divide collumn. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка algoritm divide collumn. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Есть и другие алгоритмы BIDEC.
Среди них наиболее заметен «метод обратного счета», основанный на синхронном вычитании единицы из двоичного счетчика и прибавлении единицы к двоично-десятичному.
Этот алгоритм предельно прост и понятен, особенно специалистам по аппаратной части.
Однако, и при аппаратной и при программной реализации скорость работы у него — самая худшая из всех возможных алгоритмов.
Хотя, безусловно, в случаях, некритичных к быстродействию, этот алгоритм наиболее компактен, прост и дешев как при аппаратной, так и при программной реализации.

Алгоритм «метод обратного счета».
Например: для преобразования данных
с АЦП 10 бит.

алгоритм преобразования двоично десятичного кода в двоичный код. minus db plus dd. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-minus db plus dd. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка minus db plus dd. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

А теперь интересно будет сравнить скорость работы алгоритмов.

Поскольку, алгоритм 3, Алгоритм обратного счета — самый медленный, остается сравнить алгоритмы 1 и 2.
Если в качестве примера взять двоичное число, состоящее из 16 бит, то после преобразования получим 5 разрядов десятичного числа.
Число команд, необходимое для преобразования, по алгоритмам выглядит так:

Для Алгоритма «плюс 3 и сдвиг»
Число десятичных разрядов для анализа — 5
Сдвигов в двоичном регистре — 16
Условных переходов в двоичном регистре — 15
Сдвигов в 10-х регистрах — 3х16 = 48
Сравнений в 10-х регистрах — 5х16 = 80
Условных переходов в 10-х регистрах — 5х16 = 80
Условных сложений «+3» — до 5х16 = 80
Итого команд от 239 (если не было ни одного +3) до 319

Для Алгоритма «деление в столбик»
Число десятичных разрядов для анализа — 5-1 = 4
Число вычитаний на каждый разряд — 9
Условных переходов на разряд — 9
Установок адреса констант на разряд — 1
Итого команд (9+9+1) х 4 = 76

Как видно из сравнения, Алгоритм «деление в столбик» как минимум в 3 раза быстрее, чем Алгоритм «плюс 3 и сдвиг».

Кроме того, при увеличении числа двоичных разрядов, время преобразования по алгоритму «плюс 3 и сдвиг» возрастает в квадрате, а в алгоритме «деление в столбик» — пропорционально. Например, если время преобразования двоичного числа 16 бит принять за единицу, то преобразование двоичного числа 32 бита займет в 4 раза больше времени в Алгоритме «плюс 3 и сдвиг» и в два раза больше времени в Алгоритме «деление в столбик».

И еще.
Алгоритм «деление в столбик» имеет интересную особенность,-
поскольку анализ начинается со старшей декады и в порядке уменьшения числа для сравнения, то чем больше исходное число, тем быстрее оно будет преобразовано.
Так например, число 9999 будет преобразовано в 9 раз быстрее, чем число 1111.

Таким образом, при программной реализации
у Алгоритма «деление в столбик» практически нет конкурентов.
Он самый быстрый и компактный. К тому же, имеет абсолютно регулярную структуру,-
все ступени преобразования одинаковы и различаются только заранее известными константами.

Источник

Преобразование двоично-десятичного кода в двоичный

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

алгоритм преобразования двоично десятичного кода в двоичный код. image290. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image290. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image290. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис. 7. Преобразование двоичного кода в двоично-десятичный

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

преобразованию числа 218.

алгоритм преобразования двоично десятичного кода в двоичный код. image292. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image292. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image292. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис. 8. Структура интегральной микросхемы для преобразования

двоичного кода в двоично-десятичный SN 74185.

Это мож­но сделать путем последовательного деле­ния числа на 2. Для этого десятичное число делится на 2. Если оно нечетное, то в остатке получится 1, т.е. в разряде 2° за­писывается 1. Затем частное от деления еще раз делится на 2, и, если остаток равен нулю, в разряде 2 1 записывается 0. Если остаток равен 1, то в этом разряде записы­вается 1. Аналогично получают и более старшие разряды двоичного числа. Деле­ние двоично-десятичного числа на 2 очень просто можно провести путем сдвига вправо на один разряд, так как отдельные цифры уже представлены в двоичном коде. Самый правый бит, выдвинутый из двоич­но-десятичной разрядной сетки, и является искомым значением разряда. Но если при сдвиге единица пересекает границу между декадами, то возникает ошибка: при пере­ходе от десятков к единицам значение раз­ряда должно уменьшиться наполовину от десяти до пяти. Однако в случае двоичного числа эта величина становится равной во­сьми. Поэтому, для коррекции нужно вы­честь 3. Из этого вытекает следующее пра­вило коррекции: если старший разряд в декаде равен единице, то необходимо данную декаду уменьшить на три. Таким образом, можно непосредственно составить таблицу переключений для корректирую­щего элемента 3. Процесс преобразова­ния заканчивается, если все двоично-деся­тичное число будет выдвинуто из разряд­ной сетки.

На рис. 9 приведена комбинационная схема для преобразования 272-разрядного двоично-десятичного числа. Здесь, так же как и в схеме на рис. 7, сдвиг двоично-десятичных разрядов достигается путем соответствующего соединения одинаковых комбинационных схем. Чтобы наглядно продемонстрировать структуру этой

Таблица 3.Таблица переключений корректирующего элемен­та

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

алгоритм преобразования двоично десятичного кода в двоичный код. image294. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image294. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image294. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

алгоритм преобразования двоично десятичного кода в двоичный код. image296. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image296. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image296. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

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

схемы, на рис. 9. изображены все три корректирующих элемента для каждой ступени кодопреобразователя. В действи­тельности если старший разряд корректи­рующего элемента не используется, то, со­гласно табл. 3, коррекция не нужна и данный элемент можно исключить. На рис. 9 такие элементы изображены пунктирной линией.

алгоритм преобразования двоично десятичного кода в двоичный код. image298. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image298. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image298. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис. 10. Структура интегральной микросхемы для преобразования

двоично-десятичного кода в двоичный.

Корректирующие схемы составляются из отдельных секций, содержащих по два элемента (рис. 10). Каждая секция пред­ставляет собой одну интегральную ми­кросхему ПЗУ на 32 байта, программируе­мую изготовителем. Такая микросхема (типа SN 74184) имеет пять входов и пять выходов.

Литература:

1. В.В. Стрыгин «Основы вычислительной, микропроцессорной техники и программирования», стр: 64-67.

2. У. Титце, К. Шенк «Полупроводниковая схемотехника», стр: 321-325.

3. Э.В. Евреинов «Цифровая и вычислительная техника», стр: 74-76.

4. В.А. Скаржепа «Электроника и микросхемотехника» (сборник задач), стр: 122-127.

ЗАНЯТИЕ 1.1.10 Назначение сумматоров. Комбинационные сумматоры. Синтез

одноразрядного комбинационного сумматора.

ВОПРОСЫ ЗАНЯТИЯ:

1. Назначение и классификация сумматоров.

2. Комбинационные сумматоры. Синтез одноразрядного комбинационного сумматора.

ПЕРВЫЙ ВОПРОС

Сумматор – электронный узел, выполняющий операцию суммирования цифровых кодов двух чисел. При сложении двух чисел, представленных в виде двоичных кодов, происходит сложение этих чисел в данном i-м разряде и прибавление единицы переноса (если она возникает) из младшего (i—1)-го разряда.

По принятой системе счисления и коди­рования различают сумматоры двоичные, троичные, десятич­ные, двоично-десятичные и др.

По способу организации суммирования сумматоры могут быть комбинационные и накапливающие.

Сумма­тор для сложения многоразрядных чисел представляет собой набор одноразрядных сумматоров, имеющих входы для слагаемых и пере­носа из младшего разряда и выходы суммы и переноса в старший раз­ряд.

алгоритм преобразования двоично десятичного кода в двоичный код. image300. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image300. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image300. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).алгоритм преобразования двоично десятичного кода в двоичный код. image302. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image302. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image302. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис. 1. Условное графическое Рис. 2. Условное графическое ­

обозна­чение полусумматора. обозначение одноразрядного сумматора.

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

Рассмотрим сложение двух целых двоичных чисел без знаков А и В с формированием их суммы S:

алгоритм преобразования двоично десятичного кода в двоичный код. image304. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image304. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image304. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Из примера следует, что при формировании результата в любом i-м разряде необходимо учесть значения чисел в этом разряде аi и Ьi а так­же перенос в этот разряд из предыдущего разряда р.Формируются значение сум­мы в этом разряде si и пере­нос в следующий разряд pi+1. Сумматор может быть построен в виде комбинаци­онного устройства, содержа­щего схемы для сложения отдельных разрядов (одно­разрядные двоичные сумма­торы). Условия функциони­рования одноразрядного двоичного сумматора определяются в табл. 1.

алгоритм преобразования двоично десятичного кода в двоичный код. image306. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image306. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image306. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Булевы функции, описывающие работу одноразрядно­го двоичного сумматора, можно записать в виде

алгоритм преобразования двоично десятичного кода в двоичный код. image308. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image308. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image308. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

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

ВТОРОЙ ВОПРОС

Суммирование двоичных чисел в вычислительных устройствах осу­ществляется комбинационными сумматорами. Одним из простейших суммирующих устройств является комбинационный одноразрядный суммирующий элемент, таблица истинности и схема которого показаны на рис. 1.

алгоритм преобразования двоично десятичного кода в двоичный код. image310. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image310. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image310. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис.1 Таблица истинности (а) одноразрядного

комбинационного сумматора и его схема (б).

Устройство осуществляет суммирование двух одноразрядных дво­ичных чисел, сумма s которых также имеет один разряд. На выходе р устройства формируется сигнал переноса в следующий, более стар­ший разряд, если оба суммируемых числа имеют единичные значения.

Нетрудно заметить, что функция s реализуется элементом нерав­нозначности (сумма по модулю 2):

алгоритм преобразования двоично десятичного кода в двоичный код. image312. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image312. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image312. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Функция переноса — это операция «И»:

алгоритм преобразования двоично десятичного кода в двоичный код. image314. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image314. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image314. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

На рис. 1, б показано условное обозначение данного элемента. Этот элемент называют иногда одноразрядным полусумматором, по­скольку в нем не учитывается возможность суммирования сигнала переноса из предыдущего разряда.

Два одноразрядных полусумматора образуют одноразрядный сум­матор. Таблица истинности, схема и его условное обозначение пока­заны на рис. 2.

алгоритм преобразования двоично десятичного кода в двоичный код. image316. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image316. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image316. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис. 2. Таблица истинности (а), схема (б) и условное

обозначение одноразрядного сумматора.

Промежуточная сумма s образуется в результате суммирования значений одноименных разрядов ai и bi исходных чисел Затем s суммируется с сигналом переноса рi-1 из предыдущего раз­ряда и получается окончательное значение сум­мы si. Сигналы переносов алгоритм преобразования двоично десятичного кода в двоичный код. image318. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image318. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image318. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).и алгоритм преобразования двоично десятичного кода в двоичный код. image320. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image320. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image320. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).с обоих полусумматоров объединяются по схеме ИЛИ, образуя окончательное значение переноса pi. Заметим, что оба сигнала алгоритм преобразования двоично десятичного кода в двоичный код. image318. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image318. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image318. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).и алгоритм преобразования двоично десятичного кода в двоичный код. image320. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image320. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image320. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).не могут быть одновременно равны единице.

алгоритм преобразования двоично десятичного кода в двоичный код. image323. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image323. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image323. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис. 3. Схема одноразрядного комби­национного сумматора

алгоритм преобразования двоично десятичного кода в двоичный код. image325. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image325. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image325. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис. 3. Схема многораз­рядного комбинационного сумматора.

Одноразрядный накап­ливающий сумматор.Это логическая схема, в кото­рой исходные слова хi, уi, pi — 1 в виде входных сигна­лов поступают на вход по­очередно и накапливаются и сохраняются на выходе после прекращения подачи сигналов. Схема накапли­вающего сумматора стро­ится на основе триггера со счетным входом, реализую­щим операцию сложения по модулю 2.

Схема одноразрядного накапливающего сумматора приведена на рис. 4. В этой схеме после установки триггера в состояние 0 сиг­налы xi,yi, pi-1 поступают на элемент И – ИЛИ по­следовательно в моменты времени t1, t2, t3 соответст­венно.

В момент времени t1 поступает сигнал первого слагаемого хi ,который запоминается в триггере. Затем в момент времени t2 через И – ИЛИ на счетный вход триггера поступает сигнал второго слагаемого уi. При этом триггер реализует функцию si = fi(xi алгоритм преобразования двоично десятичного кода в двоичный код. image173. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image173. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image173. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).yi). Затем на счет­ный вход триггера поступает сигнал переноса рi-1 из предыдущего разряда и триггер формирует сигнал суммы

алгоритм преобразования двоично десятичного кода в двоичный код. image328. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image328. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image328. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Сигнал переноса в старший разряд имеет две составляющие,

одна из которых вырабатывается схемой И1; peaлизующей переключательную функцию.Вторая со­ставляющая вырабатыва­ется в том случае, ес­ли хi и yi равны 1. Она реализуется схемой И2, на один из входов которой подается сигнал с инверсного выхода триггера, а на другой второе слагаемое yi,которое подается в дискретный момент времени t3. В этот момент времени в триггере хранится функция fi, по­этому элемент И2 реализует пере­ключательную функцию

алгоритм преобразования двоично десятичного кода в двоичный код. image330. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image330. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image330. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Таким образом, сигнал перено­са на выходе схемы ИЛИ3 опреде­ляется выражением

алгоритм преобразования двоично десятичного кода в двоичный код. image332. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image332. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image332. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

алгоритм преобразования двоично десятичного кода в двоичный код. image334. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image334. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image334. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис. 4. Схема одноразрядного накап­ливающего сумматора.

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

Литература:

1. В.В. Стрыгин «Основы вычислительной, микропроцессорной техники и программирования» стр: 105-108.

2. Б.Я. Лихтциндер «Микропроцессоры и вычислительные устройства в радиотехнике» стр: 43-44.

ЗАНЯТИЕ 1.1.11 Комбинационные сумматоры последовательного и

ЗАНЯТИЕ 1.1.12 Основные характеристики надежности цифровых устройств.

Функции систем контроля и диагностирования.

ВОПРОСЫ ЗАНЯТИЯ:

1. Сумматоры последовательного и параллельного действия.

2. Основные характеристики надежности цифровых устройств.

3. Функции систем контроля и диагностирования.

ПЕРВЫЙ ВОПРОС

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

алгоритм преобразования двоично десятичного кода в двоичный код. image336. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image336. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image336. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

Рис. 1. Схема параллельного n-разрядного сумматора.

Быстродействие такого сумматора определяется временем сумми­рования в разряде сумматора tc и временем распространения пере­носа tp последовательно по всему n-разрядному сумматору, т. е. T=tc+(n—l)tp.

Для повышения быстродействия сумматоры выполняют с исполь­зованием схем с ускоренным распространением переносов (парал­лельным или групповым).

Для сложения n-разрядных чисел необходимо п – 1 одноразряд­ных полных сумматоров и один полусумматор в нулевом разряде (рис. 1, г).

В настоящее время в виде микросхем выпускаются одно-(165ИМ1), двух- (155ИМ2) и четырехразрядные (155ИМЗ, 564ИМ1) двоичные сумматоры. На рис 2, а показано условное графическое обозначение четырехразрядного двоичного сумматора. Входы At и В;, где t = 1, 2, 3, 4 и Ро логически равноценны.

алгоритм преобразования двоично десятичного кода в двоичный код. image338. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image338. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image338. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

алгоритм преобразования двоично десятичного кода в двоичный код. image340. алгоритм преобразования двоично десятичного кода в двоичный код фото. алгоритм преобразования двоично десятичного кода в двоичный код-image340. картинка алгоритм преобразования двоично десятичного кода в двоичный код. картинка image340. Двоично-десятичная система счисления. Десятичные цифры от 0 до 9 заменяются представляющими их двоичными тетрадами: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 и 9=1001. Такая запись очень часто используется как промежуточный этап перевода числа из десятичной системы в двоичную или обратно. Так как 10 не является точной степенью 2, то используются не все 16 тетрад, а алгоритмы арифметических операций над многозначными числами здесь более сложны, чем в основных системах счисления. И тем не менее, двоично-десятичная система счисления применяется даже на этом уровне во многих микрокалькуляторах и некоторых компьютерах (в частности, «Ямаха» стандарта MSX).

ВТОРОЙ ВОПРОС

Под надёжностью изделия (элемента, узла, устройства, системы) понимают свойство последнего сохранять своё качество при определенных условиях эксплуатации в течении заданного промежутка времени, т.е. надежность – качество, развернутое во времени.

Изделия в процессе эксплуатации подразделяются по показателям надежности:

1. Невосстанавливаемые изделия – изделия, поведение которых существенно лишь до первого отказа. Характеризуются следующими показателями надёжности: интенсивностью отказов λ(t); частотой отказов f(t); вероятностью безотказной работы P(t); вероятностью отказа Q(t); наработкой на отказ То.

2. Восстанавливаемые изделия – изделия, эксплуатация которых допускает их многократный ремонт. Характеризуются следующими количественными показателями надежности: параметрами потока отказов ω(t) и потока восстановлений μ(t); функцией готовности Кг(t); коэффициентом готовности Кг; средним временем работы между двумя отказами tср; средним временем восстановления tв.

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

Для удобства рассмотрения показатели надежности подразделяются на четыре группы.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *