Цифровые схемы - коды
В кодировании, когда цифры или буквы представлены конкретной группой символов, говорят, что кодируется цифра или буква. Группа символов называется кодом . Цифровые данные представлены, сохранены и переданы в виде группы битов. Эта группа битов также называется двоичным кодом .
Двоичные коды можно классифицировать на два типа.
- Взвешенные коды
- Невзвешенные коды
Если код имеет позиционные веса, то он называется взвешенным кодом . В противном случае это невзвешенный код. Взвешенные коды могут быть далее классифицированы как положительно взвешенные коды и отрицательно взвешенные коды.
Двоичные коды для десятичных цифр
В следующей таблице показаны различные двоичные коды для десятичных цифр от 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 (двоично-десятичным) кодом .
пример
Давайте найдем 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.
пример
Давайте найдем 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 эквивалент десятичного числа 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 десятичного числа 786. Это число имеет 3 десятичных числа 7, 8 и 6. Из таблицы мы можем записать коды Excess 3 7, 8 и 6: 1010, 1011 и 1001 соответственно.
Таким образом, превышение 3 эквивалента десятичного числа 786 составляет 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 кода Грея.
пример
Из таблицы мы знаем, что код Грея, соответствующий двоичному коду 1000, равен 1100. Теперь давайте проверим его с помощью описанной выше процедуры.
Учитывая, двоичный код 1000.
Шаг 1 - поместив ноль слева от MSB, двоичный код будет 01000.
Шаг 2 - Сравнивая два последовательных бита нового двоичного кода, мы получим серый код как 1100 .