- •Предисловие
- •Лекция 1. Информация. Начальные понятия и определения
- •1. Информация и данные
- •2. Адекватность и формы адекватности информации
- •3. Качество информации
- •4. Понятие об информационном процессе
- •5. Формы представления информации
- •6. Преобразование сообщений
- •Лекция 2. Необходимые сведения из теории вероятностей
- •1. Понятие вероятности
- •2. Сложение вероятностей независимых несовместных событий
- •3. Умножение вероятностей независимых совместных событий
- •4. Нахождение среднего для значений случайных независимых величин
- •5. Понятие условной вероятности
- •6. Общая формула для вероятности произведения событий
- •7. Общая формула для вероятности суммы событий
- •Лекция 3. Понятие энтропии
- •1. Энтропия как мера неопределенности
- •2. Свойства энтропии
- •3. Условная энтропия
- •Лекция 4. Энтропия и информация
- •1. Объемный подход к измерению количества информации
- •2. Энтропийный подход к измерению количества информации
- •Лекция 5. Информация и алфавит
- •Лекция 6. Постановка задачи кодирования. Первая теорема Шеннона.
- •Лекция 7. Способы построения двоичных кодов. Алфавитное неравномерное двоичное кодирование сигналами равной длительности. Префиксные коды.
- •1. Постановка задачи оптимизации неравномерного кодирования
- •00100010000111010101110000110
- •2. Неравномерный код с разделителем
- •3. Коды без разделителя. Условие Фано
- •00100010000111010101110000110
- •00100010000111010101110000110
- •4. Префиксный код Шеннона–Фано
- •5. Префиксный код Хаффмана
- •Лекция 8. Способы построения двоичных кодов. Другие варианты
- •1. Равномерное алфавитное двоичное кодирование. Байтовый код
- •2. Международные системы байтового кодирования текстовых данных. Универсальная система кодирования текстовых данных
- •3. Алфавитное кодирование с неравной длительностью элементарных сигналов. Код Морзе
- •4. Блочное двоичное кодирование
- •101010111001100010000000001000000000000001
- •5. Кодирование графических данных
- •6. Кодирование звуковой информации
- •Лекция 9. Системы счисления. Представление чисел в различных системах счисления. Часть 1
- •1. Системы счисления
- •2. Десятичная система счисления
- •3. Двоичная система счисления
- •4. 8- И 16-ричная системы счисления
- •5. Смешанные системы счисления
- •6. Понятие экономичности системы счисления
- •Лекция 10. Системы счисления. Представление чисел в различных системах счисления. Часть 2.
- •1. Задача перевода числа из одной системы счисления в другую
- •2. Перевод q p целых чисел
- •3. Перевод p q целых чисел
- •4. Перевод p q дробных чисел
- •6. Перевод чисел между 2-ичной, 8-ричной и 16-ричной системами счисления
- •Лекция 11. Кодирование чисел в компьютере и действия над ними
- •1. Нормализованные числа
- •2. Преобразование числа из естественной формы в нормализованную
- •3. Преобразование нормализованных чисел
- •4. Кодирование и обработка целых чисел без знака
- •5. Кодирование и обработка целых чисел со знаком
- •6. Кодирование и обработка вещественных чисел
- •Лекция 12. Передача информации в линии связи
- •1. Общая схема передачи информации в линии связи
- •2. Характеристики канала связи
- •3. Влияние шумов на пропускную способность канала
- •Лекция 13. Обеспечение надежности передачи информации.
- •1. Постановка задачи обеспечения надежности передачи
- •2. Коды, обнаруживающие одиночную ошибку
- •3. Коды, исправляющие одиночную ошибку
- •Лекция 14. Способы передачи информации в компьютерных линиях связи
- •1. Параллельная передача данных
- •2. Последовательная передача данных
- •3. Связь компьютеров по телефонным линиям
- •Лекция 15. Классификация данных. Представление данных в памяти компьютера
- •1. Классификация данных
- •2. Представление элементарных данных в озу
- •Лекция 16. Классификация структур данных
- •1. Классификация и примеры структур данных
- •2. Понятие логической записи
- •Лекция 17. Организация структур данных в оперативной памяти и на внешних носителях
- •1. Организация структур данных в озу
- •2. Иерархия структур данных на внешних носителях
- •3. Особенности устройств хранения информации
- •Контрольные вопросы
- •Список литературы
3. Преобразование нормализованных чисел
Подобно задаче о преобразовании целых и дробных чисел, можно поставить задачу о преобразовании P-ичного нормализованного числа вQ-ичное нормализованное число. Практическое значение такого преобразования состоит в том, что в компьютере все вещественные числа хранятся и обрабатываются внормализованномдвоичном представлении. Следовательно, при их вводе в компьютер осуществляется перевод, а при выводе – обратный перевод.
Пусть имеется число . Это число необходимо представить в форме. Очевидно, что преобразование не затронет знака мантиссы и знака порядка числа. Таким образом, для осуществления преобразованиянеобходимо установить соответствие междуи. Разумеется, что
. (12.3)
Для осуществления преобразования можно перейти к естественной форме числа в системе P, перевести число в системуQ, а затем нормализовать полученноеQ-ичное число. Однако в таком варианте действий может теряться точность числа, а также возможно переполнение, если целая часть числа не уместится в отведенную разрядную сетку. Во избежание этого не надо переходить к естественной форме числа. Надо постепенно, шаг за шагом выделять в числестепени числаQ, пока число не примет вид, где. Это позволит избежать громоздких (многоразрядных) записей больших целых частей чисел. Затем числаиможно перевести вQ-ичную форму. Таким образом, процедура перевода выглядит так:
. (12.4)
Пример. Выполнить преобразование.
, где многоточие означает поэтапное выделение степеней двойки. Для порядка числа получаем:, а для мантиссы числа. Таким образом, окончательно получаем:.
Пример. Выполнить преобразование.
, где многоточие означает постепенное выделение степеней десятки.
4. Кодирование и обработка целых чисел без знака
Будем исходить из того, что для записи числа в устройствах компьютера выделяется фиксированное количество двоичных разрядов. Память компьютера имеет байтовую структуру, однако размер одной адресуемой ячейки памяти обычно составляет несколько байт. Например, в IBM-совместимых компьютерах ячейка памяти объединяет 2 байта, то есть 16 двоичных разрядов. Такаякомбинация связанных соседних разрядов, обрабатываемых совместно, называется машинным словом. Для представления числа в арифметико-логическом устройстве процессора, где формируется результат операции, имеется еще один дополнительный одноразрядный регистр памяти – так называемыйрегистр переноса, который можно рассматривать как 17-й бит в результате операции.
Конечный размер разрядной сетки порождает понятие «наибольшее целое число», которого в обычном (немашинном) представлении чисел просто не существует. Если количество разрядов равноk, а основание системы счисления равноP, то изPразличных цифр в сочетаниях поkцифр можно составитьразличных комбинаций, то естьразличных чисел. Так как первое (наименьшее) целое положительное число есть нуль, то есть, то максимальное целое число без знака равно.
Пример. При(двоичная система) иполучаем.
Целых чисел, удовлетворяющих условию в компьютере не существует, поэтому появление в ходе вычислений чисел, превышающих, должно интерпретироваться как ошибка. В языках программирования тип числа, в частности, задает количество отводимых для записи числа ячеек памяти (следовательно, задается разрядность числа). В языкеPASCALцелые числа без знака, для которых отводится 2 байта (то есть 16 разрядов), определены как типWord. Выход за границувозможен только путем увеличения количества разрядов, отводимых для записи числа, но это порождает новый тип со своим (более высоким) значением.
Рассмотрим, как с беззнаковыми числами выполняются арифметические операции в двоичной системе счисления.
Сложениепроизводится согласно таблице сложения, которая имеет вид:
;;;.
Место в памяти, где сохраняется переносимая в старший разряд единица до того, как она будет использована в операции (то есть перенесена в старший разряд), называется битом переноса.
Пример. Найти сумму чисели.
-
+
00100110100101000011000000111001
00101011011001101
Пример. Найти сумму чисели.
-
+
11111111111111100000000000000011
10000000000000001
В последнем примере в результате сложения получилось число, превышающее на максимально возможное. Результат ошибочен, о чем свидетельствует появление единицы в регистре переполнения. Возникновение такой ситуации в ходе выполнения программы, написанной на языке, где предусмотрено строгое описание типа переменных, приводит к прекращению работы программы и выводу сообщения об ошибке. В программах, предназначенных для обработки числовой информации (например,Excel,MathCad), при переполнении разрядной сетки производится автоматическое преобразование целого числа в вещественный тип и число становится вещественным нормализованным. Таким образом, регистр переполнения служит индикатором корректности вычислений.
Умножениепроизводится согласно таблице умножения:
;;;.
Последовательность действий при умножении аналогична используемой при работе в привычной десятичной системе счисления.
Пример. Найти произведение.
-
+
+
1101 1011101
0000
1101
1000001
Как и в операции сложения, при умножении чисел с ограниченной разрядной сеткой может возникнуть переполнение. Решается эта проблема рассмотренными выше способами.