Цифровые схемы - коды
При кодировании, когда числа или буквы представлены определенной группой символов, говорят, что это число или буква кодируются. Группа символов называетсяcode. Цифровые данные представляются, хранятся и передаются как группа битов. Эта группа бит также называетсяbinary code.
Двоичные коды можно разделить на два типа.
- Взвешенные коды
- Невзвешенные коды
Если в коде есть позиционные веса, то он называется weighted code. В противном случае это невзвешенный код. Взвешенные коды могут быть дополнительно классифицированы как коды с положительным весом и коды с отрицательным весом.
Двоичные коды для десятичных цифр
В следующей таблице показаны различные двоичные коды десятичных цифр от 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.
В этом коде все положительные веса. Итак, этоpositively weighted code.
Этот код также называется natural BCD (Десятичное число с двоичным кодом) code.
Example
Давайте найдем двоично-десятичный эквивалент десятичного числа 786. Это число состоит из 3 десятичных цифр 7, 8 и 6. Из таблицы мы можем записать двоично-десятичные (8421) коды 7, 8 и 6: 0111, 1000 и 0110 соответственно. .
∴ (786)10 = (011110000110)BCD
В представлении BCD 12 бит, поскольку каждый десятичный код BCD имеет 4 бита.
2 4 2 1 код
Веса этого кода 2, 4, 2 и 1.
В этом коде все положительные веса. Итак, этоpositively weighted code.
Это unnatural BCDкод. Сумма весов неестественных кодов BCD равна 9.
Это self-complementingкод. Самодополняющиеся коды обеспечивают дополнение до 9 десятичного числа, просто меняя местами 1 и 0 в его эквивалентном представлении 2421.
Example
Давайте найдем 2421 эквивалент десятичного числа 786. Это число состоит из 3 десятичных цифр 7, 8 и 6. Из таблицы мы можем записать 2421 коды 7, 8 и 6: 1101, 1110 и 1100 соответственно.
Следовательно, 2421 эквивалент десятичного числа 786 равен 110111101100.
8 4-2-1 код
Веса этого кода - 8, 4, -2 и -1.
Этот код имеет отрицательные веса наряду с положительными. Итак, этоnegatively weighted code.
Это unnatural BCD код.
Это self-complementing код.
Example
Давайте найдем эквивалент 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
В этом коде нет весов. Итак, этоun-weighted code.
Мы получим код Превышения 3 десятичного числа, добавив три (0011) к двоичному эквиваленту этого десятичного числа. Следовательно, он называется кодом Excess 3.
Это self-complementing код.
Example
Давайте найдем эквивалент Превышения 3 десятичного числа 786. Это число состоит из 3 десятичных цифр 7, 8 и 6. Из таблицы мы можем записать коды Превышения 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 |
В этом коде нет весов. Итак, этоun-weighted code.
В приведенной выше таблице последовательные коды Грея отличаются только одной битовой позицией. Следовательно, этот код называетсяunit distance код.
Преобразование двоичного кода в код Грея
Выполните следующие действия для преобразования двоичного кода в эквивалентный ему код Грея.
Рассмотрим данный двоичный код и поставим ноль слева от MSB.
Сравните следующие два бита, начиная с нуля. Если 2 бита одинаковы, то выходной сигнал равен нулю. В противном случае на выходе будет один.
Повторяйте вышеуказанный шаг, пока не получите младший бит кода Грея.
Example
Из таблицы мы знаем, что код Грея, соответствующий двоичному коду 1000, равен 1100. Теперь давайте проверим его, используя описанную выше процедуру.
Учитывая, что двоичный код равен 1000.
Step 1 - Если поставить ноль слева от MSB, двоичный код будет 01000.
Step 2 - Сравнивая два последовательных бита нового двоичного кода, мы получим код Грея как 1100.