Учебники

Цифровые схемы — коды

В кодировании, когда цифры или буквы представлены определенной группой символов, говорят, что кодируется цифра или буква. Группа символов называется кодом . Цифровые данные представлены, сохранены и переданы в виде группы битов. Эта группа битов также называется двоичным кодом .

Двоичные коды можно классифицировать на два типа.

  • Взвешенные коды
  • Невзвешенные коды

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

Двоичные коды для десятичных цифр

В следующей таблице показаны различные двоичные коды для десятичных цифр от 0 до 9.

Десятичная цифра Код 8421 Код 2421 84-2-1 Код Код превышения 3
0 0000 0000 0000 0011
1 0001 0001 0111 0100
2 0010 0010 0110 0101
3 0011 0011 0101 0110
4 0100 0100 0100 0111
5 0101 1011 1011 1000
6 0110 1100 1010 1001
7 0111 1101 1001 1010
8 1000 1110 1000 1011
9 1001 1111 1111 1100

У нас есть 10 цифр в десятичной системе счисления. Чтобы представить эти 10 цифр в двоичном виде, нам нужно минимум 4 бита. Но с 4 битами будет 16 уникальных комбинаций нулей и единиц. Так как у нас есть только 10 десятичных цифр, остальные 6 комбинаций нулей и единиц не требуются.

8 4 2 1 код

  • Веса этого кода 8, 4, 2 и 1.

  • Этот код имеет все положительные веса. Итак, это положительно взвешенный код .

  • Этот код также называется естественным BCD (двоично-десятичным) кодом .

Веса этого кода 8, 4, 2 и 1.

Этот код имеет все положительные веса. Итак, это положительно взвешенный код .

Этот код также называется естественным BCD (двоично-десятичным) кодом .

пример

Давайте найдем BCD-эквивалент десятичного числа 786. Это число имеет 3 десятичных цифры 7, 8 и 6. Из таблицы можно записать коды BCD (8421) с номерами 7, 8 и 6: 0111, 1000 и 0110 соответственно ,

∴ (786) 10 = (011110000110) BCD

В представлении BCD 12 битов, так как каждый код BCD десятичной цифры имеет 4 бита.

2 4 2 1 код

  • Весами этого кода являются 2, 4, 2 и 1.

  • Этот код имеет все положительные веса. Итак, это положительно взвешенный код .

  • Это неестественный код BCD . Сумма весов неестественных кодов BCD равна 9.

  • Это самодополняющий код. Самопополняющие коды обеспечивают дополнение 9 к десятичному числу, просто чередуя 1 и 0 в его эквивалентном представлении 2421.

Весами этого кода являются 2, 4, 2 и 1.

Этот код имеет все положительные веса. Итак, это положительно взвешенный код .

Это неестественный код BCD . Сумма весов неестественных кодов BCD равна 9.

Это самодополняющий код. Самопополняющие коды обеспечивают дополнение 9 к десятичному числу, просто чередуя 1 и 0 в его эквивалентном представлении 2421.

пример

Давайте найдем 2421 эквивалент десятичного числа 786. Это число имеет 3 десятичных числа 7, 8 и 6. Из таблицы мы можем записать 2421 кодов 7, 8 и 6: 1101, 1110 и 1100 соответственно.

Следовательно, 2421 эквивалент десятичного числа 786 равен 110111101100 .

8 4 -2 -1 код

  • Вес этого кода 8, 4, -2 и -1.

  • Этот код имеет отрицательные веса вместе с положительными весами. Итак, это отрицательно взвешенный код .

  • Это неестественный код BCD .

  • Это самодополняющий код.

Вес этого кода 8, 4, -2 и -1.

Этот код имеет отрицательные веса вместе с положительными весами. Итак, это отрицательно взвешенный код .

Это неестественный код BCD .

Это самодополняющий код.

пример

Давайте найдем 8 4-2-1 эквивалент десятичного числа 786. Это число имеет 3 десятичных числа 7, 8 и 6. Из таблицы мы можем написать 8 4 -2 -1 коды 7, 8 и 6 1001, 1000 и 1010 соответственно.

Следовательно, 8 4 -2 -1 эквивалент десятичного числа 786 равен 100110001010 .

Код превышения 3

  • Этот код не имеет весов. Итак, это невзвешенный код .

  • Мы получим код Excess 3 десятичного числа, добавив три (0011) к двоичному эквиваленту этого десятичного числа. Следовательно, это называется избыточным кодом 3.

  • Это самодополняющий код.

Этот код не имеет весов. Итак, это невзвешенный код .

Мы получим код Excess 3 десятичного числа, добавив три (0011) к двоичному эквиваленту этого десятичного числа. Следовательно, это называется избыточным кодом 3.

Это самодополняющий код.

пример

Найдем эквивалент Excess 3 для десятичного числа 786. Это число имеет 3 десятичных числа 7, 8 и 6. Из таблицы мы можем записать коды Excess 3 для 7, 8 и 6: 1010, 1011 и 1001 соответственно.

Следовательно, эквивалентный десятичному числу 786 избыток 3 равен 101010111001.

Серый код

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

Десятичное число Бинарный код Серый код
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
  • Этот код не имеет весов. Итак, это невзвешенный код .

  • В приведенной выше таблице последовательные коды Грея отличаются только одной позицией бита. Следовательно, этот код называется единичным кодом расстояния .

Этот код не имеет весов. Итак, это невзвешенный код .

В приведенной выше таблице последовательные коды Грея отличаются только одной позицией бита. Следовательно, этот код называется единичным кодом расстояния .

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

Выполните следующие шаги для преобразования двоичного кода в его эквивалентный код Грея.

  • Рассмотрите данный двоичный код и поместите ноль слева от MSB.

  • Сравните два последовательных бита, начиная с нуля. Если 2 бита одинаковы, то выход равен нулю. В противном случае, выход один.

  • Повторите вышеуказанный шаг, пока не получите LSB кода Грея.

Рассмотрите данный двоичный код и поместите ноль слева от MSB.

Сравните два последовательных бита, начиная с нуля. Если 2 бита одинаковы, то выход равен нулю. В противном случае, выход один.

Повторите вышеуказанный шаг, пока не получите LSB кода Грея.

пример

Из таблицы мы знаем, что код Грея, соответствующий двоичному коду 1000, равен 1100. Теперь давайте проверим его с помощью описанной выше процедуры.

Учитывая, двоичный код 1000.

Шаг 1 — поместив ноль слева от MSB, двоичный код будет 01000.

Шаг 2 — Сравнивая два последовательных бита нового двоичного кода, мы получим серый код как 1100 .