Системы счисления и основы двоичных кодировок

История развития систем счисления. Непозиционная, позиционная и десятичная система счисления. Использование систем счисления в компьютерной технике и информационных технологиях. Двоичное кодирование информации в компьютере. Построение двоичных кодов.

Рубрика Математика
Вид курсовая работа
Язык русский
Дата добавления 21.06.2010
Размер файла 5,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Рассмотрим пример построения двоичного кода для символов русского алфавита:

Неравномерный код с разделителями

Для того что бы было проще декодировать сообщения был придуман код с разделителями.

Проще всего достичь однозначного декодирования, если коды будут разграничены разделителем - некоторой постоянной комбинацией двоичных знаков. Условимся, что разделителем отдельных кодов букв будет последовательность 00 (признак конца знака), а разделителем слов - 000 (признак конца слова - пробел). Довольно очевидными оказываются следующие правила построения кодов:

-- код признака конца знака может быть включен в код буквы, поскольку не существует отдельно (т.е. кода всех букв будут заканчиваться 00);

-- коды букв не должны содержать двух и более нулей подряд в

середине (иначе они будут восприниматься как конец знака);

-- код буквы (кроме пробела) всегда должен начинаться с 1;

-- разделителю слов (000) всегда предшествует признак конца знака;

при этом реализуется последовательность 00000 (т.е. если в конце кода встречается комбинация ...000 или ...0000, они не воспринимаются как разделитель слов); следовательно, коды букв могут оканчиваться на 0 или 00 (до признака конца знака).

Длительность передачи каждого отдельного кода 4 очевидно, может быть найдена: ti = ki * ф, где ki - количество элементарных сигналов (бит) в коде символа L.

Алфавитное неравномерное двоичное кодирование. Префиксный код

Рассмотрев один из вариантов двоичного неравномерного кодирования, попробуем найти ответы на следующие вопросы: возможно ли такое кодирование без использования разделителя знаков? Существует ли наиболее оптимальный способ неравномерного двоичного кодирования?

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

ииииииииииии

Неравномерный код может быть однозначно декодирован, если никакой из кодов не совпадает с началом какого-либо иного более длинного кода.

Например, если имеется код ПО, то уже не могут использоваться коды 1, 11, 1101, 110101 и пр. Если условие Фано выполняется, то при прочтении (расшифровке) закодированного сообщения путем сопоставления со списком кодов всегда можно точно указать, где заканчивается один код и начинается другой.

Пример: Пусть имеется следующая таблица префиксных кодов:

а

л

м

р

у

ы

10

010

00

11

0110

0111

Требуется декодировать сообщение: 00100010000111010101110000110. Декодирование производится циклическим повторением следующих действий:

1. отрезать от текущего сообщения крайний левый символ, присоединить к рабочему кодовому слову;

2. сравнить рабочее кодовое слово с кодовой таблицей; если совпадения нет, перейти к (1);

3. декодировать рабочее кодовое слово, очистить его;

4. проверить, имеются ли еще знаки в сообщении; если «да», перейти к (1).

Применение данного алгоритма дает:

Шаг

Рабочее слово

Текущее сообщение

Распознанный знак

Декодированное сообщение

0

пусто

00100010000111010101110000110

-

-

1

0

0100010000111010101110000110

нет

-

2

00

100010000111010101110000110

м

М

3

1

00010000111010101110000110

нет

М

4

10

0010000111010101110000110

а

МА

5

0

010000111010101110000110

нет

МА

6

00

10000111010101110000110

м

Мам

* * *

Доведя процедуру до конца, получим сообщение: «мама мыла раму».

Код Хаффмана

Способ оптимального префиксного двоичного кодирования был предложен Д.Хаффманом. Построение кодов Хаффмана мы рассмотрим на следующем примере: пусть имеется первичный алфавит А, состоящий из шести знаков a1…а6 с вероятностями появления в сообщении, соответственно, 0,3; 0,2; 0,2; 0,15; 0,1; 0,05. Создадим новый вспомогательный алфавит Аb объединив два знака с наименьшими вероятностями (а5 и а6) и заменив их одним знаком (например, а(1)); вероятность нового знака будет равна сумме вероятностей тех, что в него вошли, т.е. 0,15; остальные знаки исходного алфавита включим в новый без изменений; общее число знаков в новом алфавите, очевидно, будет на 1 меньше, чем в исходном. Аналогичным образом продолжим создавать новые алфавиты, пока в последнем не останется два знака; ясно, что число таких

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

Теперь в обратном направлении поведем процедуру кодирования. Двум знакам последнего алфавита присвоим коды 0 и 1 (которому какой - роли не играет; условимся, что верхний знак будет иметь код 0, а нижний - 1). В нашем примере знак а1(4) алфавита А(4), имеющий вероятность 0,6 , получит код 0, а а2(4) с вероятностью 0,4 - код 1. В алфавите A(3) знак а1(3) с вероятностью 0,4 сохранит свой код (1); коды знаков a2(3) и a3(3), объединенных знаком a1(4) с вероятностью 0,6 , будут уже двузначным: их первой цифрой станет код связанного с ними знака (т.е. 0), а вторая цифра -как условились - у верхнего 0, у нижнего - 1; таким образом, а2(3) будет иметь код 00, a a3(3) - код 01. Полностью процедура кодирования

представлена в следующей таблице:

Из самой процедуры построения кодов легко видеть, что они удовлетворяют условию Фано и, следовательно, не требуют разделителя. Средняя длина кода при этом оказывается: К(2) = 0,3-2+0,2-2+0,2-2+0,15-3+0,1-4+0,05-4 = 2,45

Для сравнения можно найти I1{A)-она оказывается равной 2,409. что соответствует избыточности кода Q = 0,0169, т.е. менее 2%.

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

Равномерное алфавитное двоичное кодирование. Байтовый код

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

Пример:

Символ

Код

А

00000001

Б

00000010

В

00000011

Г

00000100

Д

00000101

Е

00000110

Ё

00000111

Ж

00001000

ЗАКЛЮЧЕНИЕ

В кокой системе счисления лучше записывать числа - это вопрос удобства и традиций. С технической точки зрения, в ЭВМ удобно использовать двоичную систему, так как в ней для записи числа используется всего две цифры 0 и 1, которыми можно представить двумя легко различимыми состояниями «нет сигнала» и «есть сигнал».

Изучая источники по теме «Системы счисления» мы получили возможность провести исторический анализ, исследовать различные формы записи чисел, систематизировать материал и выявить различные спектры применения.

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

Сейчас системы счисления очень распространены в электронно-вычислительной технике, многие коды и шифры созданы на их основе.

В ходе проведения исследования:

-- исследовали историю и развитие систем счисления,

-- исследовали практический материал

-- рассмотрели область применения и выявили актуальность темы.

Нами решены задачи:

-- арифметические действия в различных системах счисления,

-- перевод из одной системы счисления в другую.

СПИСОК ЛИТЕРАТУРЫ

1. Алгебра и теория чисел: Учеб. пособие для студентов-заочников II курса физ.-мат. фак. пед. ин-тов (Н.А.Казачёк и др.) / Под ред. Н.Я. Виленкина - 2-е изд. М.: Просвещение, 1984. - 192 с.

2. Бендукидзе А.Д. О системах счисления // Квант - 1975 - №8 - с 59-61.

3.Берман Г.Н. Число и наука о нем. Общедоступные очерки по арифметики натуральных чисел. Изд. 3-е. М.: Физматгиз, 1960. - 164с.

4. Вайман А.А. Шумеро-вавилонская математика. III - I тысячелетия до н.э. М.: Изд. вост. лит., 1961. - 278с.

5. Выгодский М.Я. Арифметика и алгебра в древнем мире. Изд. 2-е, испр. идоп. М.: Наука, 1967. - 367 с.

6. Глейзер Г.И. История арифметике в школе: IV - VI кл. Пособие для учителей. - М.: Просвещение, 1981. - 239 с.

7. Гутер Р.С. Вычислительные машины и системы счисления // Квант-1971 -№2.

8. Депман И.Я. История арифметики, пособие для учителей. М.: Учпедгиз, 1959.-423с.

9. Депман И.Я., Виленкин Н.Я. За страницами учебника математики: Пособие для учащихся 5-6 кл. сред. шк. М.: Просвещение, 1989. -287с.

10. Детская энциклопедия: [В 10-ти т.] Для среднего и старшего возраста. Гл.ред. Маркушевич А.И. Т.2. - Мир небесных тел; Числа и фигуры. -М.: Педагогика, 1972. - 480 с.

11. И. Дышинский Е.А. Игротека математического кружка. М.: Просвещение, 1972. - 144 с.


Подобные документы

  • Математическая теория чисел. Понятие систем счисления. Применения двоичной системы счисления. Компьютерная техника и информационные технологии. Алфавитное неравномерное двоичное кодирование. Достоинства и недостатки двоичной системы счисления.

    реферат [459,5 K], добавлен 25.12.2014

  • Определения системы счисления, числа, цифры, алфавита. Типы систем счисления. Плюсы и минусы двоичных кодов. Перевод шестнадцатеричной системы в восьмеричную и разбитие ее на тетрады и триады. Решение задачи Баше методом троичной уравновешенной системы.

    презентация [713,4 K], добавлен 20.06.2011

  • Исследование истории систем счисления. Описание единичной и двоичной систем счисления, древнегреческой, славянской, римской и вавилонской поместной нумерации. Анализ двоичного кодирования в компьютере. Перевод чисел из одной системы счисления в другую.

    контрольная работа [892,8 K], добавлен 04.11.2013

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

    презентация [419,8 K], добавлен 10.11.2010

  • Система счисления, применяемая в современной математике, используемые в ЭВМ. Запись чисел с помощью римских цифр. Перевод десятичных чисел в другие системы счисления. Перевод дробных и смешанных двоичных чисел. Арифметика в позиционных системах счисления.

    реферат [75,2 K], добавлен 09.07.2009

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

    курсовая работа [46,8 K], добавлен 29.04.2017

  • Совокупность приемов и правил записи и чтения чисел. Определение понятий: система счисления, цифра, число, разряд. Классификация и определение основания систем счисления. Разница между числом и цифрой, позиционной и непозиционной системами счисления.

    презентация [1,1 M], добавлен 15.04.2015

  • Изобретение десятичной системы счисления относится к главным достижениям человеческой мысли. Без нее вряд ли могла существовать, а тем более возникнуть современная техника и наука вообще. История цифр. Числа и счисление. Способы запоминания чисел.

    реферат [42,5 K], добавлен 13.04.2008

  • Сущность двоичной, восьмеричной и шестнадцатиричной систем счисления, их отличительные черты и взаимосвязь. Пример алгоритмов перевода чисел из одной системы в другую. Составление таблицы истинности и логической схемы для заданных логических функций.

    презентация [128,9 K], добавлен 12.01.2014

  • Ознакомление с записью чисел в алфавитной системе счисления. Особенности установления числовых значений букв у славянских народов. Рассмотрение записи больших чисел в славянской системе счисления. Обозначение "тем", "легионов", "леордов" и "колод".

    презентация [1,0 M], добавлен 30.09.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.