- •552800 И 654600 - Информатика и вычислительная техника
- •Введение
- •Часть 1. Информатика и современное общество
- •1. Информатизация общества и информатика
- •1.1. Информационное общество
- •1.2. Понятие информатики
- •Средства для преобразования информации
- •Часть 2. Информация, ее представление и измерение
- •2. Информация
- •2.1. Понятие и характерные черты информации
- •2.2. Классификация информации
- •2.3. Свойства информации
- •3. Сигнал как материальный носитель информации
- •3.1. Виды сигнала
- •3.2. Преобразования сигнала
- •3.3. Системы счисления
- •3.3.1. Правила перевода чисел из одной системы счисления в другую
- •3.3.1.1. Правила перевода целых чисел
- •3.3.1.2. Правила перевода правильных дробей
- •3.3.1.3. Правило перевода дробных чисел
- •3.3.2. Правила выполнения простейших арифметических действий
- •3.3.2.1. Правила сложения
- •3.3.2.2. Правила вычитания
- •3.3.2.3. Правила умножения
- •3.3.2.4. Правила деления
- •4. Кодирование дискретного сигнала
- •4.1. Кодирование по образцу
- •4.1.1. Прямые коды
- •4.1.2. Ascii-коды
- •4.1.3. Коды, учитывающие частоту информационных элементов
- •4.1.4. Коды Грея
- •4.1.5. Код Штибица
- •4.2. Криптографическое кодирование
- •4.2.1. Метод простой подстановки
- •4.2.2. Метод Вижинера
- •4.3. Эффективное кодирование
- •4.3.1. Метод Шеннона-Фано
- •4.3.2. Метод Хаффмена
- •4.3.3. Повышение эффективности кодирования
- •4.3.4. Декодирование эффективных кодов
- •4.3.5. Специальные методы эффективного кодирования
- •4.3.5.1. Методы эффективного кодирования числовых последовательностей
- •4.3.5.2. Методы эффективного кодирования словарей
- •Основной вспомогательный
- •4.3.5.3. Методы эффективного кодирования естественно-языковых текстов
- •4.4. Помехозащитное кодирование
- •4.4.1. Искажение кодовых комбинаций
- •4.4.2. Кодовое расстояние и корректирующая способность кода
- •4.4.3. Коды, исправляющие ошибки
- •5. Измерение информации
- •5.1. Структурный подход к измерению информации
- •5.1.1. Геометрическая мера
- •5.1.2. Комбинаторная мера
- •5.1.3. Аддитивная мера
- •5.2. Статистический подход к измерению информации
- •5.3. Взаимосвязь структурного и статистического подходов к измерению информации
- •5.4. Семантический подход к измерению информации
- •5.4.1. Целесообразность информации
- •5.4.2. Полезность информации
- •5.4.3. Истинность информации
- •6. Качество информации
- •Часть 3. Компьютер как основной элемент информационного процесса
- •7. Структура компьютера и принципы его функционирования
- •8. Виды современных компьютеров
- •9. Структурные элементы компьютера
- •9.1. Память
- •9.1.1. Внутренняя память
- •9.1.2. Внешняя память
- •9.1.2.1. Физическая и логическая структура магнитных дисков
- •9.2. Устройство управления
- •9.3. Арифметико-логическое устройство
- •9.3.1. Структура и принцип действия
- •9.3.2. Формы представления числовых данных
- •9.3.2.1. Формы представления целых чисел
- •9.3.2.2. Формы представления вещественных чисел
- •9.3.3. Коды представления числовых данных
- •9.3.4. Принципы выполнения арифметической операции сложения
- •9.3.4.1. Сложение целых чисел
- •9.3.4.2. Сложение вещественных чисел
- •10. Виды программного обеспечения компьютера
- •Инструментарий технологии программирования.
- •10.1. Системное программное обеспечение
- •Системное по базовое по сервисное по (утилиты) операционные системы операционные оболочки
- •10.2. Пакеты прикладных программ
- •10.3. Инструментарий технологии программирования
- •Инструментарий технологии программирования
- •11. Поколения эвм
- •12. Технология проектирования программ
- •12.1. Формализация задачи
- •12.2. Программирование задачи
- •12.2.1. Разработка алгоритма
- •12.2.1.1. Способы описания алгоритма
- •12.2.1.2. Методы проектирования алгоритмов
- •12.3. Отладка программы
- •13. Эволюция использования компьютеров. Проект эвм пятого поколения
- •Часть 4. Фазы обращения информации
- •14. Структура информационного процесса
- •15. Сбор информации
- •15.1. Методы классификации
- •15.1.1. Иерархическая классификация
- •15.1.2. Фасетная классификация
- •15.2. Методы кодирования
- •15.3. Распознавание и кодирование объектов
- •15.4. Регистрация информации
- •16. Восприятие информации
- •16.1. Сканер как устройство восприятия информации
- •16.1.1. Первичное восприятие и измерение информации
- •16.1.2. Анализ результатов первичного восприятия и измерения
- •16.1.3. Распознавание символов
- •16.2. Восприятие информации клавиатурой
- •16.2.1. Первичное восприятие и измерение
- •16.2.2. Анализ
- •16.2.3. Распознавание
- •17. Передача информации
- •17.1. Модуляция и демодуляция сигнала
- •17.2. Уплотнение сигнала и выделение уплотненного сигнала
- •17.4. Компьютерные сети
- •17.4.1. Топология сетей
- •17.4.2. Методы передачи данных в сетях
- •17.4.3. Организация обмена информацией в сети
- •18. Обработка информации
- •19. Представление информации
- •19.1. Устройства вывода на электронный носитель
- •19.1.1. Мониторы, использующие элт
- •19.1.2. Жидкокристаллические мониторы
- •19.1.3. Плазменные мониторы
- •19.1.4. Технология вывода изображений на мониторы, использующие элт
- •19.1.4.1. Принципы организации текстовых видеорежимов
- •19.1.4.2. Принципы организации графических видеорежимов
- •19.2. Устройства вывода на бумажный носитель
- •19.2.1. Технология формирования цвета
- •19.2.2. Матричные принтеры
- •19.2.3. Струйная технология
- •19.2.4. Термическая технология
- •19.2.5. Электрографическая технология
- •Приложение 1. Определения информатики
- •Приложение 2. Определения информации
- •Приложение 3. Положения комбинаторики, используемые в измерении информации
- •Список литературы
- •Оглавление
- •Часть 1. Информатика и современное общество 6
- •Часть 2. Информация, ее представление и измерение 11
- •Часть 3. Компьютер как основной элемент информационного процесса 81
- •Часть 4. Фазы обращения информации 154
9.3.4.2. Сложение вещественных чисел
Порядок действий при сложении вещественных чисел гораздо сложнее, нежели для целых чисел. Он приводится ниже:
-
слагаемые размещаются в разрядных сетках (см. п. 9.3.2.2) в прямых кодах;
-
определяется, порядок какого слагаемого меньше и насколько меньше. Для этого из любого из двух порядков вычитается оставшийся порядок и анализируется результат: если результат положителен, то большим порядком является уменьшаемое, если отрицателен, – то вычитаемое. Значение результата используется в следующих двух шагах. При вычитании, очевидно, выполняется сложение в обратном или дополнительном коде, причем в случае работы с порядками, которые являются целыми числами, эта операция идентична рассмотренной в п. 9.3.4.1;
-
порядок слагаемого, имеющий меньшее значение, увеличивается, становясь равным большему слагаемому. Если порядок отрицателен, он увеличивается, будучи преобразован в обратный или дополнительный код, по правилам, рассмотренным в п. 9.3.4.1;
-
числовые разряды мантиссы слагаемого с меньшим порядком сдвигаются вправо на столько разрядов, на сколько был увеличен меньший порядок. Часть разрядов при этом теряется, а оставшиеся свободными разряды заполняются нулями;
-
мантиссы складываются. При этом отрицательные мантиссы переводятся в обратный или дополнительный код и складываются по правилам, рассмотренным в п. 9.3.4.1. Результату приписывается общий (выровненный в предыдущих шагах) порядок;
-
в случае необходимости мантисса результата нормализуется. Необходимость нормализации определяется старшим числовым разрядом мантиссы: если он равен 0, нормализация нужна. Для этого мантисса сдвигается влево на нужное количество разрядов, а порядок уменьшается на соответствующее число. При этом, очевидно, уменьшение порядка выполняется как сложение с константой в обратном или дополнительном коде. Оставшиеся незаполненными младшие разряды мантиссы заполняются нулями.
Пример 9.12. Сложить в дополнительном коде числа 0,10112Е-2 и –0,10012Е-3. Разрядная сетка из девяти разрядов, из них четыре разряда – под порядок, пять разрядов – под мантиссу.
Решение показано ниже:
-
разместим слагаемые в разрядных сетках. Имеем:
0
(9.13)
(9.12) |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
-0,10012Е-3
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
-
вычитаем из порядка –2 порядок –3. Имеем: -2 – (-3) = -2 + 3. Таким образом, надо сложить числа –2 и +3 в дополнительном коде, располагая разрядной сеткой в 4 разряда (мы на время «забудем» о мантиссе). При выполнении сложения используются правила сложения в дополнительном коде для целых чисел.
Имеем:
Прямые коды |
|
|
|
Обратные коды |
|
|
|
Дополнительные коды |
|||||||||
1 |
0 |
1 |
0 |
|
|
|
1 |
1 |
0 |
1 |
|
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
|
|
|
0 |
0 |
1 |
1 |
|
|
|
0 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
Результат сложения: |
0 |
0 |
0 |
1 |
Поскольку результат положителен, он представлен в прямом коде.
Таким образом, большим порядком обладает первое слагаемое (действительно, -2 > -3). Порядок больше на 1.
-
меньший порядок, принадлежащий числу –0,10012Е-3, увеличивается на 1, что следует из предыдущего шага, т.е. выполняется действие: -3 + 1. Это действие заменяется сложением в дополнительном коде.
Имеем (разрядная сетка соответствует порядку):
Прямые коды |
|
|
|
Обратные коды |
|
|
|
Дополнительные коды |
|||||||||
1 |
0 |
1 |
1 |
|
|
|
1 |
1 |
0 |
0 |
|
|
|
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
|
|
|
0 |
0 |
0 |
1 |
|
|
|
0 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
Результат сложения: |
1 |
1 |
1 |
0 |
Поскольку результат отрицателен, он представлен в дополнительном коде. Выполним преобразование сначала в обратный код, затем в прямой код. Имеем:
1 |
1 |
0 |
1 |
|
1 |
0 |
1 |
0 |
Таким образом, результат увеличения меньшего порядка равен –102 = -2.
-
сдвиг числовых разрядов мантиссы из (9.13) на один разряд вправо (на время «забываем» о порядке):
1 |
1 |
0 |
0 |
1 |
|
1 |
0 |
1 |
0 |
0 |
-
сложение мантисс. Поскольку второе слагаемое имеет отрицательный знак, сложение выполняется в дополнительном коде. Имеем:
Прямые коды |
|
|
Обратные коды |
|
|
Дополнительные коды |
||||||||||||
0 |
1 |
0 |
1 |
1 |
|
|
0 |
1 |
0 |
1 |
1 |
|
|
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
|
|
1 |
1 |
0 |
1 |
1 |
|
|
1 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
Результат сложения: |
0 |
0 |
1 |
1 |
1 |
Поскольку результат положителен, он представлен в прямом коде. После приписывания результату общего, выровненного порядка имеем:
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
-
поскольку старший числовой разряд мантиссы равен 0, она требует нормализации. Для этого:
-
сдвигаем числовые разряды мантиссы на один разряд влево. Освободившийся младший разряд заполняем нулем. Имеем:
0 |
1 |
1 |
1 |
0 |
-
поскольку мантисса увеличилась при сдвиге на один порядок, уменьшаем порядок на 1. Имеем: -102 –12 (или –2 –1). Для сложения отрицательных чисел переведем их в дополнительный код. Тогда:
Прямые коды |
|
|
Обратные коды |
|
|
Дополнительные коды |
||||||||||||
1 |
0 |
1 |
0 |
|
|
|
1 |
1 |
0 |
1 |
|
|
|
1 |
1 |
1 |
0 |
|
1 |
0 |
0 |
1 |
|
|
|
1 |
1 |
1 |
0 |
|
|
|
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
Результат сложения: |
1 |
1 |
0 |
1 |
|
Поскольку результат отрицателен, он представлен в дополнительном коде. Переведем его сначала в обратный код, затем – в прямой код. Имеем:
1 |
1 |
0 |
0 |
|
1 |
0 |
1 |
1 |
После преобразования результат имеет вид:
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
Поскольку старший числовой разряд мантиссы равен единице, она нормализована.
Таким образом, получен результат 0,1112 Е-3.
При сложении вещественных чисел также возникают ситуации переполнения, с которыми компьютер справляется самостоятельно. Рассмотрим еще один пример.
Пример 9.13. Сложить в дополнительном коде числа -0,11002Е4 и –0,10002Е4. Разрядная сетка из девяти разрядов, из них четыре разряда – под порядок, пять разрядов – под мантиссу.
-
разместим слагаемые в разрядных сетках. Имеем:
-
(9.14)
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
-
(9.15)
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
-
вычитаем из порядка 4 порядок 4. Имеем: 4 – 4. Для сложения чисел в дополнительном коде выполним сначала необходимый перевод, а затем - сложение.
Имеем:
Прямые коды |
|
|
|
Обратные коды |
|
|
|
Дополнительные коды |
|||||||||
0 |
1 |
0 |
0 |
|
|
|
0 |
1 |
0 |
0 |
|
|
|
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
|
|
|
1 |
0 |
1 |
1 |
|
|
|
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
Результат сложения: |
0 |
0 |
0 |
0 |
Поскольку результат равен нулю, порядки слагаемых равны и никаких преобразований по выравниванию порядков (шаги 2 – 4 из приведенной выше последовательности действий) не требуется. Поэтому сразу складываем мантиссы. Поскольку оба слагаемых отрицательны, переведем их сначала в обратный, затем в дополнительный коды. Имеем:
Прямые коды |
|
|
Обратные коды |
|
|
Дополнительные коды |
||||||||||||
1 |
1 |
1 |
0 |
0 |
|
|
1 |
0 |
0 |
1 |
1 |
|
|
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
|
|
1 |
0 |
1 |
1 |
1 |
|
|
1 |
1 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
Результат сложения: |
0 |
1 |
1 |
0 |
0 |
Полученный результат положителен, несмотря на то, что складывались отрицательные слагаемые. Это является формальным признаком переполнения разрядной сетки. В этом случае выполняются следующие действия:
-
мантисса результата вместе со знаком сдвигается вправо на один разряд. Таким образом, старший разряд мантиссы становится равным ее знаковому разряду. При этом, очевидно, теряется младший числовой разряд;
-
знаковый разряд результата приравнивается знаковому разряду слагаемых;
-
порядок увеличивается на единицу.
Для нашего примера имеем следующие действия:
-
сдвиг мантиссы («забываем» о порядке):
0 |
1 |
1 |
0 |
0 |
|
|
|
0 |
1 |
1 |
0 |
-
формирование знакового разряда дает результат:
1 |
0 |
1 |
1 |
0 |
-
формирование порядка: к порядку +4 прибавляется 1. Оба слагаемых положительны, поэтому никаких преобразований не требуется. Имеем:
слагаемые |
1 |
0 |
0 |
результат |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
Таким образом, результат примера 9.13 имеет вид:
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
П
дополнительный
код результата
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
обратный
код результата
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
прямой
код результата |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
Очевидно, не всегда компьютер в состоянии справиться с переполнением при сложении вещественных чисел. Ограничением является размер разрядной сетки порядка.