ДвоичныеКоды -...

42
Двоичные Двоичные Коды Коды В. С. Джанмухамедов СПбГУ ИТМО КТ гр.139 Преподаватель: Столяр Сергей Ефимович 2003

Upload: vannhu

Post on 23-May-2018

226 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

ДвоичныеДвоичные КодыКоды

В. С. ДжанмухамедовСПбГУ ИТМО КТ гр.139

Преподаватель:Столяр Сергей Ефимович

2003

Page 2: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

2

СодержаниеСодержаниеСписок изучаемых разделов:

общее понятие о дискретном сообщении;общее понятие о кодах и кодировании;виды двоичных кодов;примеры двоичных кодов;немного о способе кодирования и декодирования;некоторые виды других кодирований.

Page 3: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

3

СловарьСловарьВведем два понятия: информация и сообщение, смысл, которых раскроется ниже.

(Абстрактная) информация передается посредством (конкретного) сообщения.

Page 4: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

4

11.. Дискретные сообщенияДискретные сообщения

СигналСигнал – это изменение некоторой физической величины во времени, обеспечивающее передачу сообщения (а тем самым и информации).

Дискретный сигналДискретный сигнал – это сигнал, параметр которого может принимать лишь конечное число значений.

Дискретное сообщениеДискретное сообщение – это такие сообщения, которые могут быть переданы с помощью дискретных сигналов.

Page 5: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

5

1.1.1.1. Знаки, наборы знаков, алфавитыЗнаки, наборы знаков, алфавитыЯзыковые сообщения в письменной форме обычно

строят, записывая знаки письма (графемы) друг за другом. Однако понятие знак намного шире, чем это может показаться на первый взгляд.

ЗнакЗнак – это элемент множества с попарно различными элементами, называемого набором знаковнабором знаков.АлфавитАлфавит – линейно упорядоченное множество

знаков.МощностьМощность – это количество элементов в наборе

знаков. Будем обозначать мощность набора знаков A, как |A|.

Page 6: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

6

1.1.1.1. Знаки, наборы знаков, алфавитыЗнаки, наборы знаков, алфавиты

Некоторые примеры алфавитов:

N10 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}N6 = {0, 1, 2, 3, 4, 5}Lat = {A, B, C,…, X, Y, Z}12 знаков зодиака:Zod = { }

Page 7: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

7

1.1.1.1. Знаки, наборы знаков, алфавитыЗнаки, наборы знаков, алфавиты

Вот еще некоторые примеры наборов знаков:Набор знаков клавиатуры компьютераНабор знаков азбуки Брайля (для слепых)Набор знаков планет { ♀ ♂ … }Набор знаков фаз Луны { , , , }Набор мастей игральных карт {♠ ♣ ♦ ♥}

Page 8: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

8

1.21.2.. Двоичный набор, знакДвоичный набор, знак

ДвоичныйДвоичный набор знаковнабор знаков - это набор, состоящий из двух знаков. Обозначим такой набор как B.

Двоичный знакДвоичный знак - это знак двоичного набора. Вместо термина «двоичный знак» часто употребляют сокращение бит (бит (от англ.от англ. binary digitbinary digit).).

Page 9: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

9

1.21.2.. Двоичный набор, знакДвоичный набор, знак

Примеры двоичных наборов:Bcolor = {«красный», «зелёный»}Bbrightness = {«светлый», «тёмный»}B2 = {0, 1}Пара состояний {«пробивка», «нет пробивки»}Bbool = {«истина», «ложь»}Banswer = {«нет», «да»}Пара напряжений {5v, 12v}

Page 10: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

10

1.21.2.. Двоичный набор, знакДвоичный набор, знак

Еще несколько примеров двоичных наборов.Любая пара знаков:

{ · , − } (“точка”, “тире”){ – , + }{ , }{ < , > } (“меньше”, “больше”)

В качестве абстрактных знаков для двоичных наборов мы будем использовать набор B = {L, O}.

Page 11: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

11

2.2. Коды и кодированиеКоды и кодированиеРассмотрим конечный набор знаков A.

СловоСлово – это последовательность знаков над набором знаков A.ММножествоножество словслов – это множество последовательностей знаков

над набором знаков A.Обозначение: A*, если возможны последовательности любой

длины и An, если длина последовательностей фиксирована.

ДДвоичнывоичныее словсловаа - это множество слов над набором знаковB = {L, О}, т.е. множество B*. Элементы множества Bn называются nn--битовымибитовыми словамисловами илиили

двоичнымидвоичными словамисловами длиныдлины nn. Множество n-битовых слов часто само снова используется в

качестве набора знаков.

Пример: OLLOL – двоичное слово длины 5.

Page 12: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

12

2.2. Коды и кодированиеКоды и кодирование

КодКод – это правило, описывающее отображение одного набора знаков в другой набор знаков (или слов). Так же называют и множество образов при этом отображении.

Двоичное кодированиеДвоичное кодирование – это отображение некоторого набора знаков (слов) в двоичный набор слов.Если А – набор знаков и Bn – набор двоичных слов,

тос: А Bn – это двоичный код длины n.

Page 13: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

13

2.1. 2.1. Разновидности двоичных кодов символовРазновидности двоичных кодов символовУ большинства используемых в технике кодов все

слова имеют одинаковую длину.

Двоичный код Фрэнсиса Бэкона. (Fransis Bacon, 1561-1626)

2-й международный телеграфный код CCIT-2, восходящий к И. М. Э. Бодо.(I. M. E. Baudot, 1845-1903).

Несколько моложе семиразрядный двоичный код ISO, имеющий международный стандарт (ASCII, 1963).

Код ЕС ЭВМ для пробивки перфокарт.

Page 14: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

14

2.1. 2.1. Разновидности двоичных кодов символовРазновидности двоичных кодов символов

Двоичный код Фрэнсиса Бэкона (Fransis Bacon, 1561-1626) для кодировки букв:

Двоичный пятиразрядный, он использовался в криптографических целях уже в 1580 годах.

a - AAAAAb - AAAABc - AAABAd - AAABBe - AABAAf - AABABg - AABBAh – AABBB

i - ABAAA k - ABAAB l - ABABA m - ABABBn - ABBAAo - ABBABp - ABBBAq – ABBBB

r - BAAAA s - BAAAB t - BAABA v - BAABB w - BABAAx - BABABy - BABBAz – BABBB

Page 15: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

15

2.1. 2.1. Разновидности двоичных кодов символовРазновидности двоичных кодов символов

Код CCIT-2, используемый для кодирования цифр. Пятиразрядный двоичный код, который до сих пор используется во внутренней и международной открытой телеграфной связи (телекс).Восходит к И. М. Э. Бодо

(I. M. E. Baudot, 1845-1903).

0 OLLOL

1 LLLOL

2 LLOOL

3 LOOOO

4 OLOLO

5 OOOOL

6 LOLOL

7 LLLOO

8 OLLOO

9 OOOLL

Page 16: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

16

2.1. 2.1. Разновидности двоичных кодов символовРазновидности двоичных кодов символовКод ЕС ЭВМ (единая система ЭВМ) для пробивки

перфокарт является двенадцатиразрядным двоичным кодом. Восходит к Г.Холлериту (H. Hollerith, 1860-1929).

Page 17: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

17

2.2.2.2. Прямой, обратный, дополнительный кодыПрямой, обратный, дополнительный кодыРассмотрим эти коды на примере вычитания двух целых

чисел в компьютере. Длина слова равна 8 битам.Пусть есть два числа A=37 и B=23. Необходимо вычислить

величину A–B.1) A=1001012, B=101112;2) Переводим B из прямого кода в обратный, инвертируя

каждый бит: 000101112 111010002;3) Переводим результат из обратного в дополнительный

код, прибавляя единицу: 111010002 + 12 = 111010012;4) Складываем A и полученное число:1001012 + 111010012 = 1000011102. Берем последние 8 бит

и переводим число в десятичный вид: 11102 = 8 + 4 + 2 = 14.5) Имеем: 37 – 23 = 14.

Page 18: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

18

2.2.2.2. Прямой, обратный, дополнительный кодыПрямой, обратный, дополнительный коды

Для представления отрицательных чиселиспользуют два вида кодов.Дополнительный код для числа (–x) определяется

по формуле:

В нашем случае B=2, t=8; ai – цифры числа вдвоичном представлении x.

Обратный код для числа (–x) определяется поформуле:

Как видно, это сумма из выражения длядополнительного кода.

∑ ∑∑−

=

=

=

⋅−−+=⋅−⋅−+=−1

0

1

0

1

0

)1(1)1(1t

i

t

i

ii

ii

it

i

t BaBBaBBxB

∑−

=

⋅−−=1

0)1(

t

i

ii BaBx

Page 19: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

19

22.3..3. Расстояние ХэммингаРасстояние ХэммингаРассмотрим случай кодирования цифр.При кодировании возникает последовательность последовательность или набор набор

словслов.

Расстояние ХэммингаРасстояние Хэмминга (R. W. Hamming) – это количество различий между двумя двоичными словами равной длины в совпадающих позициях..

Обозначение: Hamm = , где di = 0, если биты с номером iравны и di = 1, если нет.Пример. Hamm(11001110, 01100101) = 5, так как

1 1 0 0 1 1 1 00 1 1 0 0 1 0 1 количество единиц1 0 1 0 1 0 1 1

∑=

n

iid

1

Page 20: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

20

22.3.1..3.1. Коды ГреяКоды ГреяВ алфавитах может оказаться полезным, чтобы

соседние знаки при двоичном кодировании переходили в минимально отличающиеся друг от друга слова, т.е. в слова, различающиеся лишь в одном бите.

Одношаговый код ГреяОдношаговый код Грея (F. Gray) – это код, в котором расстояние Хэмминга между соседними словами равно единице.

Если в одношаговом коде Грея расстояние Хэмминга для первого и последнего слова равно единице, то говорят о циклическом одношаговом коде циклическом одношаговом коде ГреяГрея.

Page 21: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

21

22.3.1..3.1. Коды ГреяКоды Грея

Одним из механизмов построения кодов Грея является таблица Карно-Вейтча(M. Karnaugh, E. W. Veitch). Смотри рисунок.

Page 22: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

22

2.3.2.2.3.2. Циклические кодыЦиклические кодыn-разрядный двоичный код для алфавита можно получить,

передвигая смотровое (считывающее) окошко вдоль подходящего циклического расположения не более 2n битов, т.ч. оно в каждый момент времени выхватывало n следующих друг за другом битов. Для n=3 подойдет такая последовательность:

OOOLLLOL

{OOO, OOL, OLL, LLL, LLO, LOL, OLO, LOO}или

OOLLLOL

{OOL, OLL, LLL, LLO, LOL, OLO, LOO}Такой код принято называть цепнымцепным.Циклический кодЦиклический код – это код, у которого циклический сдвиг в

слове не выводит за границы кода.

Page 23: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

23

2.3.2.2.3.2. Циклические кодыЦиклические коды

Полная диаграмма переходов для 4-разрядного циклического кода

Page 24: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

24

2.3.2.2.3.2. Циклические кодыЦиклические коды

Последовательно поворачивая головки по часовой стрелке на одну позицию, генерируем циклический одношаговый 5-разрядный код для 20 знаков.

Page 25: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

25

2.3.2.2.3.2. Циклические кодыЦиклические коды

Циклический 4-разрядный код для 10 знаков

Циклический 4-разрядный код для 16 знаков

Page 26: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

26

2.3.2.2.3.2. Циклические кодыЦиклические коды

Циклический4-разрядный код для 12 знаков

Page 27: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

27

22.4..4. Код Код 11--изиз--nnЭтот код является частным видом кода mm--изиз--nn, т.е. кода

длины n, где присутствуют m единичных позиций.

LOOOOOOOOO 9OLOOOOOOOO 8OOLOOOOOOO 7OOOLOOOOOO 6OOOOLOOOOO 5OOOOOLOOOO 4OOOOOOLOOO 3OOOOOOOLOO 2OOOOOOOOLO 1OOOOOOOOOL 0

Код 1-из-10 и соответствие с десятичными цифрами

Page 28: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

28

2.5.2.5. Лексикографический порядокЛексикографический порядок

Определим для слов w1, w2 из знаков алфавита с линейным порядком ллексикографическийексикографический порядокпорядок«<lex» индуктивно следующим образом:

1) пустое слово меньше любого;2) если для этих слов выполняется тот факт, что

первый знак w1 меньше первого знака w2, то w1 <lex w2;

если же эти знаки равны, то проделываем аналогичную процедуру сравнения для слов, полученных из исходных путем отбрасывания первых знаков.

w1 <lex w2 ⇔ (a1 < а2) v ( a1 = а2 ∧ w1´ <lex w2´ )

Page 29: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

29

2.6.2.6. Код с весами позицийКод с весами позиций

КодКод с весами позицийс весами позиций – это код, в котором каждому разряду соответствует некоторый вес.

Например, в десятичной системе счисления i-муразряду соответствует вес 10i-1.

Пример. 245810 = 2 ·103 + 4 ·102 + 5 ·101 + 8 ·100.

Page 30: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

30

2.6.2.6. Код с весами позицийКод с весами позиций

Рассмотрим некоторые примеры кодов с весами позиций.1) k-ичная система счисления. Допустимые цифры из диапазона 0, 1, … , k-1.Пример: k=5.20345=4·1+3 ·5+0 ·25+2 ·125=269.

2) i-ый разряд i-му числу Фибоначчи. Допустимые цифры 0 и 1.Пример: 101001Fib=1·1+0·1+0·2+1·3+0·5+1·8=12.

3) Формат записи даты и времени суток.Пример: 22. 11. 2003 или 22ч. 55мин.

Page 31: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

31

Цифра Грея Грея-Штибица

0 OOOO

1 OOOL OLLO

2 OOLL OLLL

3 OOLO OLOL

4 OLLO OLOO

5 OLLL LLOO

Весапозиций 15 7 3 1

6 OLOL LLOL

7 OLOO LLOL

8 LLOO LLLL

9 LLOL LLLO

OOLO

2.7.2.7. ПримерыПримеры

Код ГреяКод Грея для цифр с весами 1-3-7-15, и ГреяГрея--ШтибицаШтибица(G. Stibitz) без весов – примеры одношаговых кодов.

Page 32: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

32

2.7. ПримерыПримерыПрямой кодПрямой код имеет веса

8-4-2-1. КодКод плюс 3плюс 3 – это сдвинутый прямой код: чтобы получить десятичный эквивалент нужно вычесть три.В этом коде пары цифр 0 и 9, 1 и 8 и т.д. переходят друг в друга в результате взаимной замены O на L, тем самым упрощается получение противоположных чисел.

Цифра Прямой Плюс 3 (Штибица)

OOOO OOLL

1 OOOL OLOO

2 OOLO OLOL

3 OOLL OLLO

4 OLOO OLLL

5 OLOL LOOO

Весапозиций 8 4 2 1

6 OLLO LOOL

7 OLLL LOLO

8 LOOO LOLL

9 LOOL LLOO

0

Page 33: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

33

Цифра КодАйкена Биквинарный 1 из 10 2 из 5

OOOOOL OOOOOOOOOL

1 OOOL OOOOLO OOOOOOOOLO OOOLL

2 OOLO OOOLOO OOOOOOOLOO OOLOL

3 OOLL OOLOOO OOOOOOLOOO OOLLO

4 OLOO OLOOOO OOOOOLOOOO OLOOL

5 LOLL LOOOOL OOOOLOOOOO OLOLO

Весапозиций 2 4 2 1 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 7 4 2 1 0

6 LLOO LOOOLO OOOLOOOOOO OLLOO

7 LLOL LOOLOO OOLOOOOOOO LOOOL

8 LLLO LOLOOO OLOOOOOOOO LOOLO

9 LLLL LLOOOO LOOOOOOOOO LOLOO

LLOOOOOOO0

2.7. 2.7. ПримерыПримеры

1-из-10, 2-из-5 – два кода вида m-из-n.БиквинарныйБиквинарный и код код АйкенаАйкена (H.H.Aiken)– коды с весами позиций.

Page 34: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

34

2.8.2.8. Другие кодированияДругие кодирования

Существует троичное кодирование с алфавитом{1, 0, 1}.Четвертичное кодирование в криптографических

целях использовал Альберти (L. B. Alberti, 1404-1472) ещё в 1466 г. Оно представлено также «генетическим кодом», в котором используются слова длины 3. Из 64 комбинаций 61 поставлена в соответствие встречающимся в природе аминокислотам.Пример. ГЦА – гуанин, цитозин, аденин.

АГТ – аденин, гуанин, тимин и т.д.

Page 35: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

35

2.8.2.8. Другие кодированияДругие кодирования

Для световой индикации цифр (и букв) используются специальные коды. На рисунке показаны коды для матричной индикации. Также существует код со светящимися сегментами.

Page 36: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

36

2.8.2.8. Другие кодированияДругие кодирования

Некоторые знаки рельефного шрифта Брайля для слепых. Эти знаки для восьми точек присутствуют в кодировке Unicode.

В 1991 г. А. Немет (Dr. Abraham Nemeth) предложилкодировку математики в системе Брайля.

Page 37: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

37

2.8.2.8. Другие кодированияДругие кодирования

Запись происходит по правилам набора выражений в ТеХе. Если требуется набрать $\frac1{\sqrt{2\pi}}$, то имеем:

Дробь-открывающая скобкаЦифра1

Дробь- чертаКорень-открывающая скобка

Цифра 2Метка греческой буквыБуква p

Корень-закрывающая скобкаДробь-закрывающая скобка

π21

Page 38: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

38

2.8.2.8. Другие кодированияДругие кодирования

Для решения задач хранения и переработки текстовой информации приходится вводить специальные способы кодирования. В языках, использующих латиницу, всемирное призвание завоевал код ASCIIASCII – AAmerican SStandard CCode for IInformation IInterchange, предложенный в 1963 году. В этом коде любой символ кодируется 1 байтом.

|ASCII| = 256. Первые 128 твердо фиксированы. Кириллица

попадает в промежуток 27…28-1.

Page 39: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

39

2.8.2.8. Другие кодированияДругие кодированияПомимо широко распространенной кодировки ASCII

применяется кодировка UnicodeUnicode, в которой каждый символ кодируется не одним байтом, а двумя, благодаря чему она умещает в себе множество алфавитов разных языков наряду с математическими и другим знаками.

Коды в Unicode разделены на несколько областей. Область с кодами от 0000 до 007F содержит первые 128 символов ASCII. Далее идут области, в которых расположены знаки различных письменностей, а также знаки пунктуации и технические символы; часть кодов зарезервирована для использования в будущем.

Символам кириллицы выделены коды в диапазоне от 0400 до 0451.

Page 40: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

40

33.. Коды переменной длиныКоды переменной длиныКодКод МорзеМорзе (S. Morse, 1791-1872) – это пример кода

с двоичными словами разной длины. Набор знаков состоит из символов { · , − } (“точка”, “тире”) и символа «пропуск». Все слова не длиннее 5. Установим соответствие:

Каждой букве соответствуетпоследовательность точек и тире. Здесь применяется два этапа кодирования: первичныйи вторичный.

Пример.A = · − = OLOLLLЫ = − · − − − = OLLLOLOLLLOLLL

«точка» OL«тире» OLLL

«пропуск» OOO

Page 41: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

41

33.. Коды переменной длиныКоды переменной длины

Другим примером кодов переменной длиныслужит восьмибитовая кодировка UTFUTF--88, предназначенная для экономного перехода междуUnicode и другими системами. Она обеспечиваетоднобайтовое представление для ASCII, двухбайтовую кодировку для еще 2K = 2·210

символов, трехбайтовую для 1M = 220 символов ипрактически бесконечное продолжение.

Page 42: ДвоичныеКоды - rain.ifmo.rurain.ifmo.ru/cat/data/theory/coding/binary-2003/presentation.pdfh – aabbb i -a baaa ... 7 llol looloo oolooooooo loool 8 lllo lolooo oloooooooo

42

СписокСписок литературы:литературы:1. Бауэр Ф.Л., Гнац Р., Хилл У. Информатика.

Задачи и решения. – М.: Мир, 1978.2. Бауэр Ф.Л., Гооз Г. Информатика. Вводный курс:

В 2-х ч. – М.: Мир, 1990.3. Брой М. Информатика. В 4-ч. Пер. с нем. – М.:

Диалог – МИФИ, 1996.4. Питерсон У., Уэлдон Э. Коды, исправляющие

ошибки. – М.: Мир, 1976.5. Романовский И.В. Дискретный анализ. – СПб:

Невский диалект, 2000-2003.