ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 14.10.2024
Просмотров: 92
Скачиваний: 0
Дискретные коды проще всего представить в виде последова тельного ряда чисел. Такие ряды могут образовывать различные цифровые системы.
Цифровые системы
Каждый дискретный код можно выразить системой цифр, в ко торой произвольное число N (кодовый знак) изображено в виде полинома (многочлена):
N = am_lz»t-> |
+ am_2z'n-2+ |
... |
+ a , z 1 + |
a0 z°, |
|
(24) |
где |
2 — основание |
системы; |
|
|
||
а,п_х, а,п_2>... |
m — число |
разрядов; |
|
|
|
|
— коэффициент, |
равный |
цифре |
в соответствую |
|||
|
щем |
разряде кода: 0, |
1, . . . (г—2), (г—1). |
|
||
Название |
системы определяется величиной |
основания. |
Так, |
например, число 29 выражается в двоичной, троичной, пятеричной,
восьмеричной системах следующим |
образом: |
|
|
||||||||
z=~2\ |
(11 101 )г = 1 • 2 4 + 1 • 2 3 + 1 |
• 2Н 0 • 2> + 1 • 2° |
= |
||||||||
= 1 6 + 8 + 4 + 1 = 2 9 ; |
|
|
|
|
|
|
|
||||
2 = |
3; |
(1002)3 = |
1 • 3 3 + 0 • 3 2 + 0 |
• 3' + |
2 • 3° = |
27 + 2 = |
29; |
||||
г = |
5; |
(Ю4)5 = |
1 • 5 |
2 + |
0 • 5' + |
4 |
• 5° = |
2 5 + 4 = |
29; |
|
|
г = |
8; |
(35)8 = 3 |
• 8* |
+ |
5 • 8° = |
24 + |
5 = |
29. |
|
|
Для лучшего понимания принципов обработки кодовой инфор мации опишем некоторые взаимные преобразования числовых си стем и арифметические операции для недесятичных систем.
Перевод чисел из одной системы в другую
Принцип перевода можно объяснить на примере преобразова
ния двоичного числа в десятичное, |
которое осуществляется |
путем |
||||||||
суммирования в десятичной системе |
чисел 2г'-1 |
(где і — номер раз |
||||||||
ряда, считая с младшего) |
для всех |
тех |
разрядов |
двоичного |
числа, |
|||||
в которых записаны единицы. |
|
|
|
|
|
|
|
|
|
|
П р и м е р : |
|
|
|
|
|
|
|
|
|
|
(11011)2= 1 • 24 + 1 . 23 + 0 • 22 + |
1 . 21 + |
1 • 20 = |
16 + |
8 + |
2 + |
1 = 2 7 . |
|
|||
Преобразование числа |
из |
системы |
с |
основанием |
z |
в систему |
||||
с основанием m осуществляется следующим образом. |
|
|
|
|||||||
Число в системе с основанием z |
делится на |
число m, |
выражен |
|||||||
ное в системе с основанием г. Остаток Q^Ç^m—1 |
|
является цифрой |
первого (низшего) разряда данного числа в системе т. Получен
ное частное делится на основание m, а остаток является |
цифрой |
|
следующего разряда числа в системе с основанием |
m и т. д. По |
|
следнее частное, которое находится в интервале <Ч), |
m—1>, |
явля |
ется цифрой высшего разряда преобразуемого числа |
в системе т. |
41
П р и м е р .
Преобразуйте число 345 в двоичную систему:
|
|
|
|
1 |
низшего разряда двоичного числа |
|
|
|
345: 2 f 1 - г - Цифра |
||
|
|
|
172:2 |
|
|
|
|
|
86:2 |
|
|
|
|
|
43:2 |
|
|
|
|
|
|
[ Остатки |
|
|
Частные |
\ |
21:2 |
|
|
|
10:2 |
|
|||
|
|
|
|
||
|
|
|
5:2 |
|
|
Цифра высшего — - т - |
2: 2 |
|
|||
1 |
|
|
|||
разряда |
двоичного |
|
|
|
|
|
|
|
|
||
числа |
|
|
|
|
|
( 3 4 5 ) ю = (101011001)2 |
|
|
|
||
Проверку осуществляем путем обратного преобразования: |
|||||
101011001 = 1 • 28 + |
1 • 26 + |
1 • 24 + 1 . 23 + |
1 • 2^ = |
||
= 256 + |
64 + 16 + |
8 + 1 = |
345. |
|
Арифметические операции в недесятичных системах рассмот рим только на примере двоичной системы.
Сложение в двоичной системе
При сложении десятичных чисел цифра данного разряда суммы равна сумме цифр соответствующих разрядов слагаемых, если эта сумма меньше основания системы 2=10. В противном случае циф ра суммы равна разности между суммой цифр слагаемых и де сятью и, кроме того, образуется единица переноса в следующий
разряд. |
|
|
|
|
||
В |
двоичной |
системе |
сложение производится аналогично: |
|||
0 + 0=0; |
1 + 0 = 1 ; |
|
||||
1 + 1=0 и единица переноса в следующий разряд. |
||||||
Как |
и в десятичной |
системе, сложение производится поразряд |
||||
но, начиная с младшего. |
|
|||||
П р и м е р . |
|
|
|
|||
0 |
1 |
1 |
0 |
1 |
(13) |
|
1 |
1 |
1 |
0 |
0 |
(28) |
|
1 0 |
1 0 |
0 |
1 |
(41) |
|
Звездочкой обозначены переносы.
Умножение в двоичной системе
Умножение в двоичной системе производится по следующим правилам: 0X0 = 0; 1X1 = 1; 0 X 1 = 0 .
Умножение в двоичной системе производится аналогично ум ножению в десятичной системе: множимое последовательно умно-
42
жается на отдельные цифры множителя; полученные частные произведения подписываются друг под другом со сдвигом на один разряд и складываются. При этом в двоичной системе умножение сводится только к сдвигу и сложению.
|
П р и м е р . |
|
|
|
||||
1 1 |
0 |
|
1 |
0 X 1 1 0 1 |
26 X 13 |
|||
1 |
1 |
0 |
|
1 0 |
|
|
26 |
|
|
1 |
1 |
0 |
|
1 0 |
|
78 |
|
|
|
0 |
|
0 |
0 |
0 |
0 |
338 |
|
|
|
|
1 1 |
0 |
1 0 |
|
|
1 0 |
1 0 |
|
1 |
0 |
0 |
1 0 |
|
Вычитание в двоичной системе
При вычитании в двоичной системе пользуются следующими правилами:
0 — 0=1 |
— 1=0; 1 — 0=1; |
0 — 1 = 1 и единица вычитается |
||||
из следующего по старшинству |
разряда. |
|||||
П р и м е р . |
|
|
|
|||
|
|
* |
* |
|
|
- |
1 |
1 |
1 |
0 |
0 |
(28) |
|
1 |
1 |
0 |
0 |
1 |
(—25) |
|
0 |
0 |
0 |
1 |
1 |
(3) |
|
Звездочкой обозначено вычитание из следующего разряда.
Деление в двоичной системе
Деление осуществляется так же, как и в десятичной системе, т. е. последовательным вычитанием.
П р и м е р .
Деление в десятичной системе: 137:10 = 13 + 7/10
— 137 <— Вычтем делитель 37 * - К остатку припишем следующую цифру делимого
— 30 «— Вычтем число, в три раза превышающее делитель 7 ОЬтаток.
8 двоичной системе это деление будет выглядеть следующим образом:
1 0 0 0 1 0 0 1 : 1 0 1 |
0 = 1 1 0 1 |
||||||||
—1 |
0 |
1 0 |
|
|
<— Вычтем |
делитель |
|||
0 |
1 |
1 |
1 0 |
|
•<— К остатку припишем следующую цифру |
||||
— |
1 |
0 |
1 |
0 |
|
•>— Вычтем |
делитель |
||
|
0 |
1 |
0 |
0 |
0 |
1*—К |
остатку |
припишем следующую цифру; полученное |
|
|
|
|
|
|
|
число меньше делителя, поэтому припишем еще одну |
|||
|
|
|
|
|
|
цифру |
|
|
|
|
|
|
1 |
0 |
1 0 |
— Вычтем |
делитель |
||
|
|
|
O |
l |
l i |
" — |
Остаток |
|
43
Так как мы списали все числа делимого, последний результат является остатком. На каждом шаге, когда вычитание было воз можно, пишем в частном единицу; если вычитание невозможно, пишем нуль.
Вопросы преобразования чисел, а также арифметических опера ций более подробно рассмотрены в литературе [16]. Из приведен ных примеров видно, что умножение и деление можно заменить сложением (вычитанием) и сдвигом. Обычно все арифметические операции в двоичной системе сводятся к сложению и сдвигу. Это оказывается возможным благодаря наличию специальных кодов (дополнительных и обратных), которые заменяют вычитание сло жением.
Двоичные коды
Наиболее широко для передачи данных применяются двоичные коды, так они позволяют легко осуществить кодирование отдель ных знаков (букв, цифр и др.) путем использования элементов, которые характеризуются двумя состояниями (контакт замкнут или разомкнут, лампочка светит или не светит, магнитный сердеч ник намагничен в одном или в другом направлении, транзистор на ходится в состоянии проводимости или непроводимости). Двоич ный код состоит из последовательности нулей и единиц. Если один знак в равномерном коде образован с помощью я двоичных раз рядов, то получим 2™ комбинаций 0 и 1; тогда можно закодиро вать 2П знаков. Если использованы все эти комбинации, то это плотный код.
Хотя выражение чисел в двоичной системе и является наиболее экономичным, на практике для передачи всех данных используют десятичную систему, а двоичную систему — во внутренних схемах ЭВМ. Широко используется двоично-десятичная система, которая объединяет преимущества десятичной системы (наглядность) с пре имуществами двоичной системы (экономичность). Каждую деся тичную цифру выражают отдельно двоичным кодом, благодаря чему получают наглядность, как в десятичной системе. При этом достаточно знать представление в двоичной системе только десяти десятичных цифр. Для выражения десяти десятичных цифр в дво ичной системе в нашем распоряжении имеется 16 двоичных чисел (одну десятичную цифру можно выразить минимально четырьмя двоичными разрядами). Чтобы закодировать 10 десятичных цифр, нужно выбрать 10 из этих 16 двоичных чисел, и каждому из них поставить в соответствие одну из десятичных цифр. При этом коли чество получаемых комбинаций составит 8008. Наиболее распро страненными из этих кодов являются прямой код, весовые коды и рефлексные коды.
При использовании прямого кода каждая десятичная цифра кодируется соответствующим двоичным числом, т. е. определяется непосредственно многочленом (24), где 2 = 2 .
Весовые коды составляются таким образом, что каждому раз ряду соответствует определенный постоянный вес. Тогда десятич-
44