Двоичные коды применяются в различных микропроцессорах с целью представления обрабатываемой ими информации. При всем этом разрядность обрабатываемых чисел иногда может быть выше разрядности самого процессора и используемой в нем памяти. В этом случае длинное число может занимать некоторое количество ячеек памяти и подвергаться обработке некоторыми командами процессора [1,2].
Двоичный шифр, как правило, представляет из себя форму записи данных в виде нулей и единиц. Эта система исчисления является позиционной с основанием 2. В наши дни бинарный код применяется в абсолютно всех без исключения цифровых приборах. Его популярность объясняется значительной безопасностью и несложностью данной формы записи. Бинарная арифметика достаточно элементарна, в соответствии с этим, её попросту реализовать на аппаратном уровне.
Цифровые электронные (логические) элементы в работе оперируют только лишь 2-мя состояниями: логической единицы в случае если есть ток и логического нуля в случае если нет тока, и исходя из данного считаются довольно надежными. Этим они практично отличаются от аналоговых компонентов, работа каковых основана на переходных процессах [3].
В связи с появившейся потребности предоставления той или иной информации, как правило, выделяют следующие разновидности бинарных кодов (ключей):
1) беззнаковые;
2) прямые целые знаковые коды;
3) знаковые обратные;
4) знаковые дополнительные;
5) код Грея;
6) код Грея-Экспресс.;
7) дробные коды.
1. Целые беззнаковые коды.
В целых беззнаковых кодах каждый разряд представляет из себя степень числа 2. При этом наименьшее число, что можно записать в данной форме, равно нулю, а наибольшее представляется следующей формулой: М=2n-1. Эти 2 числа целиком определяют диапазон ключа, которым возможно выразить бинарный код.
Рисунок 1. «Максимально и минимально возможное
число в беззнаковом коде»
При использовании беззнакового ключа, состоящего из восьми разрядов, диапазон возможных чисел составит от 0 до 255, а шестнадцатиразрядный код имеет диапазон от 0 до 65535.
В процессорах для записи и хранения таких чисел используется два сектора памяти, которые располагаются в соседних адресатах, а работу с этими ключами обеспечивают специальные команды [3,6].
2. Прямые целые знаковые коды.
В этом виде бинарных ключей высший разряд применяется с целью записи знака - числа. Ноль в данном случае соответствует плюсу, а единица, в свою очередь - минусу. В следствии введения этого разряда диапазон абсолютно всех закодированных чисел сдвигается в отрицательную сторону.
Рисунок 2. «Диапазон смещения в отрицательную сторону»
От сюда следует, что восьмиразрядный двоичный ключ сможет записать числа в диапазоне от -127 до +127, а шестнадцатиразрядный - в диапазоне от -32767 до +32767. В микропроцессорах для хранения таких кодов используются два соседних сектора [3,6].
3. Знаковый обратный ключ
В отличие от прямых кодов, в данной форме записи отрицательное число получается путем инвертирования всех разрядов ключа. При этом цифровые и знаковые разряды идентичны, исходя из чего алгоритмы работы с данным видом кодов существенно упрощаются [3]. Однако обратный ключ требует использования специального алгоритма для:
1) распознавания символа первого разряда;
2) вычисления абсолютной величины числа;
3) восстановления знака результирующего значения.
Более того, в обратном и прямом кодах числа для записи нуля используют два ключа
4. Знаковый дополнительный код двоичного числа
Эти виды кодов позволяют осуществлять непосредственное сложение как положительных, так и отрицательных чисел. При этом не ведется анализ знакового разряда. Все это стало возможным благодаря тому, что вспомогательные числа представляют из себя естественное кольцо символов, а не искусственные образования, подобные тому как в прямых и обратных ключах.
Значимым условием является, то что произвести вычисления дополнений в бинарных кодах достаточно просто. Для этого необходимо к обратному ключу приписать единицу.
При использовании данного типа кода, состоящего из 8 разрядов, диапазон вероятных чисел составит от -128 до +127, а диапазон шестнадцатиразрядного ключа будет от -32768 до +32767. В процессорах с целью хранения подобных чисел также применяют 2 соседних сектора [3].
Пример представления отрицательного числа в прямом, обратном и дополнительном коде представлен в таблице 1.
Таблица 1. «Представление отрицательного числа в прямом, обратном и дополнительном коде»
Десятичное представление |
Двоичное представление (8 бит) |
||
прямой |
обратный |
дополнительный |
|
127 |
01111111 |
01111111 |
01111111 |
1 |
00000001 |
00000001 |
00000001 |
0 |
00000000 |
00000000 |
00000000 |
-0 |
10000000 |
11111111 |
- |
-1 |
10000001 |
11111110 |
11111111 |
-2 |
10000010 |
11111101 |
11111110 |
-3 |
10000011 |
11111100 |
11111101 |
-4 |
10000100 |
11111011 |
11111100 |
-5 |
10000101 |
11111010 |
11111011 |
-6 |
10000110 |
11111001 |
11111010 |
-7 |
10000111 |
11111000 |
11111001 |
-8 |
10001000 |
11110111 |
11111000 |
-9 |
10001001 |
11110110 |
11110111 |
-10 |
10001010 |
11110101 |
11110110 |
-11 |
10001011 |
11110100 |
11110101 |
-127 |
11111111 |
10000000 |
10000001 |
-128 |
- |
- |
10000000 |
5. Код Грея
Эта форма записи является по своей сути одношаговым ключом, при котором в процессе перехода от одного значения к другому меняется всего лишь один бит информации (табл. 2). При этом погрешность при считывании данных приводит к смене одного положения на другое с незначительным смещением по времени [4].
Таблица 2. «Код Грея»
Десятичное число |
Код Грея |
|||
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
2 |
0 |
0 |
1 |
1 |
3 |
0 |
0 |
1 |
0 |
4 |
0 |
1 |
1 |
0 |
5 |
0 |
1 |
1 |
1 |
6 |
0 |
1 |
0 |
1 |
7 |
0 |
1 |
0 |
0 |
8 |
1 |
1 |
0 |
0 |
9 |
1 |
1 |
0 |
1 |
10 |
1 |
1 |
1 |
1 |
11 |
1 |
1 |
1 |
0 |
12 |
1 |
0 |
1 |
0 |
13 |
1 |
0 |
1 |
1 |
14 |
1 |
0 |
0 |
1 |
15 |
1 |
0 |
0 |
0 |
6. Код Грея-Экспресс
Обычный одно шаговый ключ Грея подходит для решений, что представлены в виде чисел в степени 2. В тех вариантах, когда следует реализовывать иные решения, из данной формы записи вырезают и используют только лишь средний участок. Вследствие чего сохраняется одношаговость данного ключа. Однако, необходимо отметить, то что в данном коде началом числового диапазона не является ноль, так как он сдвигается на установленное значение. В ходе обработки информации от генерируемых импульсов отнимают половину разницы среди начальных и редуцированным разрешением [3].
7. Дробные коды
В процессе работы бывает, что приходится оперировать не только целыми цифрами, но и дробными. Эти числа можно записывать с помощью прямых, обратных и дополнительных кодов. Принцип построения дробных ключей аналогичен построению целых.
запятая располагаться только от разряда, она располагаться и от разряда (в случае в переменной будет исключительно числа), и переменной, позволит смешанные .
В микропроцессорной применяется система , её и важное в том, бинарных всего 2: 0 и 1, этой для представления достаточно лишь 2- электрических сигнала. этом , чтоб схемы всех приборов между только 2 уровня .
Обычно считать, единица - высший , а нуль - низший. напряжение в большинстве приборов – +5.0 вольт. степени , что 2.0 вольт соответствующими - 1, а 0.8 вольт - 0.
между 2-мя относят к и их цифровыми довольно- непредсказуема. В случае, говорится, схема в инверсной противоположной , или сигнал обратное , означает, нулю высокий уровень, а низкий [5].