19:31 Двоичное кодирование | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для перевода 16-ричного числа в
десятичное необходимо умножить значение младшего (нулевого) разряда на единицу,
значение следующего (первого) разряда на 16, второго разряда на 256 (162)
и т.д., а затем сложить все произведения. Например, возьмем число A17F: A17F=F*160 + 7*161 + 1*162 + A*163 = 15*1 + 7*16+1*256+10*4096=41343
Но каждому специалисту по цифровой аппаратуре (разработчику,
оператору, ремонтнику, программисту и т.д.) необходимо научиться так же
свободно обращаться с 16-ричной и двоичной системами, как и с обычной
десятичной, чтобы никаких переводов из системы в систему не требовалось. Значительно реже, чем 16-ричное, используется восьмеричное
кодирование, которое строится по такому же принципу, что и 16-ричное, но
двоичные разряды разбиваются на группы по три разряда. Каждая группа (разряд
кода) затем обозначается одним символом. Каждый разряд 8-ричного кода может
принимать восемь значений: 0, 1, 2, 3, 4, 5, 6, 7 (рис 2,5) Помимо рассмотренных кодов, существует также и так называемое
двоично-десятичное представление чисел. Как и в 16-ричном коде, в
двоично-десятичном коде каждому разряду кода соответствует четыре двоичных
разряда, однако каждая группа из четырех двоичных разрядов может принимать не
шестнадцать, а только десять значений, кодируемых символами 0, 1, 2, 3, 4, 5,
6, 7, 8, 9. То есть одному десятичному разряду соответствует четыре двоичных. В
результате получается, что написание чисел в двоично-десятичном коде ничем не
отличается от написания в обычном десятичном коде (рис 2,5), но в реальности это всего лишь
специальный двоичный код, каждый разряд которого может принимать только два
значения: 0 и 1. Двоично-десятичный код иногда очень удобен для организации
десятичных цифровых индикаторов и табло.
В двоичном коде над числами можно проделывать любые арифметические
операции: сложение, вычитание, умножение, деление. Рассмотрим, например, сложение двух 4-разрядных двоичных чисел.
Пусть надо сложить число 0111 (десятичное 7) и 1011 (десятичное 11). Сложение
этих чисел не сложнее, чем в десятичном представлении: При сложении 0 и 0 получаем 0, при сложении 1 и 0 получаем 1, при
сложении 1 и 1 получаем 0 и перенос в следующий разряд 1. Результат — 10010
(десятичное 18). При сложении любых двух n-разрядных двоичных чисел может
получиться n-разрядное или (n+1) -разрядное
число. Точно так же производится вычитание. Пусть из числа 10010 (18)
надо вычесть число 0111 (7). Записываем числа с выравниванием по младшему
разряду и вычитаем точно так же, как в случае десятичной системы: При вычитании 0 из 0 получаем 0, при вычитании 0 из 1 получаем 1,
при вычитании 1 из 1 получаем 0, при вычитании 1 из 0 получаем 1 и заем 1 в
следующем разряде. Результат — 1011 (десятичное 11). При вычитании возможно получение отрицательных чисел, поэтому
необходимо использовать двоичное представление отрицательных чисел. Для одновременного представления как двоичных положительных, так и
двоичных отрицательных чисел чаще всего используется так называемый
дополнительный код. Отрицательные числа в этом коде выражаются таким числом,
которое, будучи сложено с положительным числом такой же величины, даст в
результате нуль. Для того чтобы получить отрицательное число, надо поменять все
биты такого же положительного числа на противоположные (0 на 1, 1 на 0) и
прибавить к результату 1. Например, запишем число –5. Число 5 в двоичном коде
выглядит 0101. Заменяем биты на противоположные: 1010 и прибавляем единицу:
1011. Суммируем результат с исходным числом: 1011 + 0101 = 0000 (перенос в
пятый разряд игнорируем). Помимо стандартных арифметических операций, в двоичной системе
счисления используются и некоторые специфические операции, например, сложение
по модулю 2. Эта операция (обозначается A) является побитовой, то есть никаких
переносов из разряда в разряд и заемов в старших разрядах здесь не существует.
Правила сложения по модулю 2 следующие: Среди других побитовых операций над двоичными числами можно
отметить функцию И и функцию ИЛИ. Функция И дает в результате единицу только
тогда, когда в соответствующих битах двух исходных чисел обе единицы, в
противном случае результат —0. Функция ИЛИ дает в результате единицу тогда,
когда хотя бы один из соответствующих битов исходных чисел равен 1, в противном
случае результат 0. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Категория: 2. Лекция: Микросхемы и их функционирование | Просмотров: 1195 | Добавил: willem |
Всего комментариев: 0 | |