64858

Двоичное кодирование

Лекция

Информатика, кибернетика и программирование

В отличие от привычного для нас десятичного кодирования чисел то есть кода с основанием десять при двоичном кодировании в основании кода лежит число два рис.3 показано соответствие первых двадцати чисел в десятичной и двоичной системах.

Русский

2014-07-15

157 KB

10 чел.

PAGE  7

FILENAME 0-Кодирование и ф-ции-устр

Двоичное кодирование

Одиночный цифровой сигнал не слишком информативен, ведь он может принимать только два значения: нуль и единица. Поэтому в тех случаях, когда необходимо передавать, обрабатывать или хранить большие объемы информации, обычно применяют несколько параллельных цифровых сигналов. При этом все эти сигналы должны рассматриваться только одновременно, каждый из них по отдельности не имеет смысла. В таких случаях говорят о двоичных кодах, то есть о кодах, образованных цифровыми (логическими, двоичными) сигналами. Каждый из логических сигналов, входящих в код, называется разрядом. Чем больше разрядов входит в код, тем больше значений может принимать данный код.

В отличие от привычного для нас десятичного кодирования чисел, то есть кода с основанием десять, при двоичном кодировании в основании кода лежит число два (рис. 2.9). То есть каждая цифра кода (каждый разряд) двоичного кода может принимать не десять значений (как в десятичном коде: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), а всего лишь два — 0 и 1. Система позиционной записи остается такой же, то есть справа пишется самый младший разряд, а слева — самый старший. Но если в десятичной системе вес каждого следующего разряда больше веса предыдущего в десять раз, то в двоичной системе (при двоичном кодировании) — в два раза. Каждый разряд двоичного кода называется бит (от английского "Binary Digit" — "двоичное число").

Рис. 2.9.  Десятичное и двоичное кодирование

В табл. 2.3 показано соответствие первых двадцати чисел в десятичной и двоичной системах.

Из таблицы видно, что требуемое количество разрядов двоичного кода значительно больше, чем требуемое количество разрядов десятичного кода. Максимально возможное число при количестве разрядов, равном трем, составляет при десятичной системе 999, а при двоичной — всего лишь 7 (то есть 111 в двоичном коде). В общем случае n-разрядное двоичное число может принимать 2n различных значений, а n-разрядное десятичное число — 10n значений. То есть запись больших двоичных чисел (с количеством разрядов больше десяти) становится не слишком удобной.

Таблица 2.3. Соответствие чисел в десятичной и двоичной системах

Десятичная система

Двоичная система

Десятичная система

Двоичная система

0

0

10

1010

1

1

11

1011

2

10

12

1100

3

11

13

1101

4

100

14

1110

5

101

15

1111

6

110

16

10000

7

111

17

10001

8

1000

18

10010

9

1001

19

10011

Для того чтобы упростить запись двоичных чисел, была предложена так называемая шестнадцатеричная система (16-ричное кодирование). В этом случае все двоичные разряды разбиваются на группы по четыре разряда (начиная с младшего), а затем уже каждая группа кодируется одним символом. Каждая такая группа называется полубайтом (или нибблом, тетрадой), а две группы (8 разрядов) — байтом. Из табл. 2.3 видно, что 4-разрядное двоичное число может принимать 16 разных значений (от 0 до 15). Поэтому требуемое число символов для шестнадцатиричного кода тоже равно 16, откуда и происходит название кода. В качестве первых 10 символов берутся цифры от 0 до 9, а затем используются 6 начальных заглавных букв латинского алфавита: A, B, C, D, E, F.

Рис. 2.10.  Двоичная и 16-ричная запись числа

В табл. 2.4 приведены примеры 16-ричного кодирования первых 20 чисел (в скобках приведены двоичные числа), а на рис. 2.10 показан пример записи двоичного числа в 16-ричном виде. Для обозначения 16-ричного кодирования иногда применяют букву "h" или "H" (от английского Hexadecimal) в конце числа, например, запись A17F h обозначает 16-ричное число A17F. Здесь А1 представляет собой старший байт числа, а 7F — младший байт числа. Все число (в нашем случае — двухбайтовое) называется словом.

Таблица 2.4. 16-ричная система кодирования

Десятичная система

16-ричная система

Десятичная система

16-ричная система

0

0 (0)

10

A (1010)

1

1(1)

11

B (1011)

2

2 (10)

12

C (1100)

3

3 (11)

13

D (1101)

4

4 (100)

14

E (1110)

5

5 (101)

15

F (1111)

6

6 (110)

16

10 (10000)

7

7 (111)

17

11 (10001)

8

8 (1000)

18

12 (10010)

9

9 (1001)

19

13 (10011)

Для перевода 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-ричном коде, в двоично-десятичном коде каждому разряду кода соответствует четыре двоичных разряда, однако каждая группа из четырех двоичных разрядов может принимать не шестнадцать, а только десять значений, кодируемых символами 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. То есть одному десятичному разряду соответствует четыре двоичных. В результате получается, что написание чисел в двоично-десятичном коде ничем не отличается от написания в обычном десятичном коде (табл. 2.6), но в реальности это всего лишь специальный двоичный код, каждый разряд которого может принимать только два значения: 0 и 1. Двоично-десятичный код иногда очень удобен для организации десятичных цифровых индикаторов и табло.

Таблица 2.6. Двоично-десятичная система кодирования

Десятичная система

Двоично-десятичная система

Десятичная система

Двоично-десятичная система

0

0 (0)

10

10 (1000)

1

1(1)

11

11 (1001)

2

2 (10)

12

12 (10010)

3

3 (11)

13

13 (10011)

4

4 (100)

14

14 (10100)

5

5 (101)

15

15 (10101)

6

6 (110)

16

16 (10110)

7

7 (111)

17

17 (10111)

8

8 (1000)

18

18 (11000)

9

9 (1001)

19

19 (11001)

В двоичном коде над числами можно проделывать любые арифметические операции: сложение, вычитание, умножение, деление.

Рассмотрим, например, сложение двух 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 следующие: , , . Эта же операция называется функцией Исключающее ИЛИ. Например, просуммируем по модулю 2 два двоичных числа 0111 и 1011:

Среди других побитовых операций над двоичными числами можно отметить функцию И и функцию ИЛИ. Функция И дает в результате единицу только тогда, когда в соответствующих битах двух исходных чисел обе единицы, в противном случае результат —0. Функция ИЛИ дает в результате единицу тогда, когда хотя бы один из соответствующих битов исходных чисел равен 1, в противном случае результат 0.

Функции цифровых устройств

Любое цифровое устройство от самого простейшего до самого сложного всегда действует по одному и тому же принципу (рис. 2.11). Оно принимает входные сигналы, выполняет их обработку, передачу, хранение и выдает выходные сигналы. При этом совсем не обязательно любое изменение входных сигналов приводит к немедленному и однозначному изменению выходных сигналов. Реакция устройства может быть очень сложной, отложенной по времени, неочевидной, но суть от этого не меняется.

В качестве входных сигналов нашего устройства могут выступать сигналы с выходов других цифровых устройств, с тумблеров и клавиш или с датчиков физических величин. Причем в последнем случае, как правило, необходимо преобразование аналоговых сигналов с датчиков в потоки цифровых кодов (рис. 2.12) с помощью аналого-цифровых преобразователей (АЦП). Например, в случае персонального компьютера входными сигналами являются сигналы с клавиатуры, с датчиков перемещения мыши, с микрофона (давление воздуха, то есть звук, преобразуется в аналоговый электрический сигнал, а затем — в цифровые коды), из кабеля локальной сети и т.д.

Рис. 2.11.  Включение цифрового устройства

Рис. 2.12.  Аналого-цифровое и цифро-аналоговое преобразование

Выходные сигналы цифрового устройства могут предназначаться для подачи на другие цифровые устройства, для индикации (на экране монитора, на цифровом индикаторе и т.д.), а также для формирования физических величин. Причем в последнем случае необходимо преобразовывать потоки кодов с цифрового устройства в непрерывные (аналоговые) сигналы (рис. 2.12) с помощью цифро-аналоговых преобразователей (ЦАП) и в физические величины. Например, в случае персонального компьютера выходными сигналами будут: сигналы, подаваемые компьютером на принтер; сигналы, идущие на видеомонитор (аналоговые или цифровые); звук, воспроизводимый динамиками компьютера (потоки кодов с компьютера преобразуются в аналоговый электрический сигнал, который затем преобразуется в давление воздуха — звук).

Одно цифровое устройство может состоять из нескольких более простых цифровых устройств. Часто эти составные элементы называют блоками, модулями, узлами, частями. Если объединяются несколько сложных цифровых устройств, то говорят уже о цифровых системах, комплексах, установках. Мы в основном будем использовать термин "устройство", как занимающий промежуточное положение.

Связь между входными и выходными сигналами может быть жесткой, неизменной или гибко изменяемой (программируемой). То есть цифровое устройство может работать по жесткому, раз и навсегда установленному алгоритму или по алгоритму программируемому. Как правило, при этом выполняется один очень простой принцип: а чем больше возможностей для изменения связи входных и выходных сигналов, чем больше возможностей изменения алгоритма работы, тем цифровое устройство будет медленнее. Речь в данном случае, конечно же, идет о предельно достижимом быстродействии.

Иначе говоря, простые устройства с жесткой логикой работы всегда могут быть сконструированы с более высоким быстродействием по сравнению с программируемыми, гибкими устройствами со сложным алгоритмом работы. Жесткая логика также обеспечивает малый объем аппаратуры (малые аппаратурные затраты) для реализации простых функций. Зато программируемые, интеллектуальные устройства обеспечивают более высокую гибкость и меньшую стоимость при необходимости сложной обработки. А для реализации простых функций они часто оказываются избыточно сложными. Так что выбор между двумя этими типами цифровых устройств зависит от конкретной решаемой задачи.

Значительное число задач может быть решено как чисто аппаратным путем (с помощью устройств на жесткой логике), так и программно-аппаратным путем (с помощью программируемых устройств). В таких случаях надо смотреть, какие характеристики устройства являются самыми важными: скорость работы, стоимость, гибкость, простота проектирования и т.д. — и в зависимости от этого выбирать то или иное решение, так или иначе перераспределять функции между программным обеспечением и аппаратурой.

В данной теме основное внимание будет уделено устройствам и узлам с жесткой логикой работы. Однако уяснение принципов их работы и их проектирования может оказать большую помощь и при создании программируемых, интеллектуальных устройств.


 

А также другие работы, которые могут Вас заинтересовать

83501. Стадії укладання міжнародного договору 39.55 KB
  Можна виділити наступні стадії укладання міжнародного договору: прийняття тексту встановлення автентичності тексту вираження згоди на обов’язковість. Для участі у будьякій з стадій укладення договору представник держави повинен мати повноваження. Повноваження оформлюються документом що видається компетентним органом держави і за допомогою якого одна чи кілька осіб призначаються представляти цю державу з метою ведення переговорів прийняття тексту договору або встановлення його автентичності вираження згоди держави на обов’язковість ДЛЯ...
83502. Застереження до міжнародного договору 36.01 KB
  Застереження це одностороння заява в будьякому формулюванні і під будьякою назвою зроблена державою при підписанні ратифікації прийнятті чи затвердженні договору або приєднанні до нього за допомогою якої вона бажає виключити або змінити юридичну дію певних положень договору в їхньому застосуванні до цієї держави ст. Застереження не повинно суперечити цілям і принципам договору змінювати його головний зміст. Воно не може бути зроблене якщо такого роду застереження заборонені договором або якщо договір допускає лише певний вид...
83503. Депозитарій міжнародного договору. Реєстрація договорів 33.67 KB
  Депозитарій зберігач оригіналу багатостороннього договору і всіх документів що до нього відносяться. Депозитарієм договору може бути одна або кілька держав міжнародна організація або головна посадова особа організації. функції депозитарію серед іншого полягають у: зберіганні автентичного тексту договору і переданих депозитарієві повноважень; підготовці засвідчених копій з автентичного тексту; одержанні підписів під договором та одержанні і зберіганні документів оповіщень і повідомлень які його стосуються; інформуванні учасників і...
83504. Форма, найменування, структура міжнародного договору 36.79 KB
  Коли автентичність тексту договору було встановлено двома або кількома мовами його текст кожною мовою має однакову силу якщо договором не передбачено або учасники не домовились що в разі розходження між цими текстами переважну силу матиме якийсь один певний текст. Міжнародний договір може мати різні найменування використання яких визначається практикою і не впливає на юридичну природу договору. Такими частинами є: найменування або титул; преамбула вказує мотиви укладення договору його цілі та принципи; основна частина статті договору...
83505. Тлумачення міжнародного договору 36.3 KB
  Під тлумаченням договору розуміють з’ясування сенсу та змісту його положень а також справжнього наміру сторін договору. У міжнародній практиці застосовуються два види тлумачення: офіційне та неофіційне. Тлумачення договору державами або міжнародними органами вважається офіційним тлумаченням. У офіційному тлумаченні виділяють автентичне тлумачення яке здійснюється державами що є учасницями договору і має силу положень самого міжнародного договору.
83506. Набрання міжнародним договором чинності. Дія міжнародного договору 36.58 KB
  Дія міжнародного договору. При відсутності такого положення або домовленості договір набирає чинності як тільки буде виражено згоду всіх учасників переговорів на обов’язковість для них договору. Учасник договору не може посилатись на положення свого внутрішнього права як на виправдання для невиконання ним договору. Однак за взаємною згодою сторони можуть поширити дію договору на події і факти що існували до набирання ним чинності.
83507. Недійсність міжнародних договорів 32.55 KB
  Таким чином недійсність договору має бути встановлена після чого кожен учасник має право вимагати щоб в межах можливого було відновлене положення змінене в результаті виконання договору. Недійсність договору може бути відносною і абсолютною. Відносна недійсність робить договір оскаржуванимїї підставами є помилка обман підкуп представника держави укладення договору з порушенням положень внутрішнього права які стосуються компетенції укладати договори. Абсолютна недійсність означає нікчемність договору із самого початку.
83508. Припинення і зупинення дії договору 36.45 KB
  Припинення договору або вихід з нього учасника можуть мати місце відповідно до положень договору або в будьякий час за згодою всіх учасників після консультації з іншими договірними державами. Договір може бути припинений у випадку: 1 закінчення строку на який він був укладений; виконання договору; за згодою всіх сторін що домовляються скасування; у зв’язку з укладенням нового договору з тих самих питань між тими самими державами новація; денонсації яка означає односторонню відмову держави від договору з попередженням інших...
83509. Поняття і джерела права міжнародних організацій 34.3 KB
  Право міжнародних організацій є сукупністю норм що регулюють процес утворення діяльності та припинення діяльності організації взаємодії з іншими субєктами міжнародного права та міжнародних відносин. Право міжнародних організацій як самостійна галузь міжнародного права складається з двох груп міжнародних норм утворюючих: поперше внутрішнє право організації норми що регулюють структуру організації компетенцію її органів і порядок роботи статус персоналу інші правовідносини і подруте зовнішнє право організації норми договорів...