Информатика и вычислительная техника
Понятие и характерные черты информации. Виды сигнала как материального носителя информации. Правила выполнения простейших арифметических действий. Рассмотрение особенностей структурного, статистического и семантического подходов к измерению информации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 23.06.2018 |
Размер файла | 758,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
время создания;
дата создания;
номер начального кластера файла или подкаталога;
размер файла;
область размещения файлов FA (File Area). Содержит файлы и подкаталоги, которые описаны в Root.
Взаимосвязь областей Root, FAT, FA при поиске файла или каталога по его имени, указанному, например, в команде MS DOS, показана ниже.
Пусть файл с именем ABC.TXT расположен в области FA в тех кластерах, которые выделены серым цветом (их номера показаны ниже):
10 11 12 13 14 15 16 17
Остальные кластеры свободны. Тогда в FAT в записях с номерами 10 - 17 появятся данные, показанные в таблице:
номера записей FAT |
Содержимое записей FAT |
|
10 |
12 |
|
11 |
||
12 |
15 |
|
13 |
||
14 |
||
15 |
17 |
|
16 |
||
17 |
EOF End Of File (англ.) - конец файла |
Каждая запись FAT, как видно из таблицы, соответствует одному кластеру и либо содержит номер следующей записи в FAT, соответствующей кластеру с продолжением файла, либо пуста (для незанятых кластеров). Строго говоря, для свободных или «плохих» кластеров записи в FAT заполняются специальными кодами.
В области Root имеется запись с описанием файла ABC.TXT следующей структуры:
Имя файла |
Тип файла |
… |
Номер первого кластера |
… |
|
ABC |
TXT |
10 |
Тогда при упоминании имени файла в команде операционная система выполняет следующие действия:
обращается в область Root, адрес которой фиксирован и известен, и находит там нужную запись (напомним, что операционные системы требуют уникальности имен файлов и подкаталогов, содержащихся в одной директории). Выбирает из этой записи номер первого кластера;
обращается к FAT, адрес которой фиксирован и известен, и по номеру первого кластера находит соответствующую запись FAT;
в найденной записи FAT выбирает содержимое записи - это номер следующей записи FAT с описанием продолжения (или окончания) файла;
если очередная запись FAT содержит код EOF, “сборка” файла закончена; иначе повторяется предыдущий шаг.
4.3.1.2.2. Оптические накопители
Эта память содержит следующие виды: компакт диски CD, DVD-диски, магнитооптические диски.
Оптические накопители типа СD (Compact Disk) включают следующие разновидности:
только для чтения - CD-ROM (Read Only Memory),
для однократной записи - CD-R (Recordable), или CD-WORM (Write Once Read Many),
для многократной перезаписи - CD-RW (ReWritable).
В CD используется лазерный луч с длиной волны 0,78 мкм. Прожигаемая лазером цифровая информация сохраняется в виде пит - «чёрточек» шириной 0,6-0,8 мкм и длиной 0,9-3,3 мкм. Длина пит зависит от количества последовательных двоичных цифр записанного цифрового сигнала. Ямка соответствует двоичному нулю - луч лазера, попадая в нее, поглощается. Гладкая поверхность диска воспринимается как двоичная единица, так как падающий на нее луч лазера отражается, преломляется через призму и фиксируется фотодетектором. Схема CD показана на рис. 4.3.
Рис. 4.3. Схема диска типа CD
Линейная скорость вращения современных устройств считывания компакт-дисков постоянна и определяется значением (коэффициентом), определяющим отношение к скорости первых образцов, т.е. указанное на диске число, например, х52, нужно умножить на 150 (это скорость первых компакт-дисков), получится число в Кб/с. Особенности размещения информации:
1) есть только одна спиральная дорожка, «закрученная» против часовой стрелки со стороны поверхности с записью, причем расстояние между витками одинаково,
2) запись на CD начинается от центра диска,
3) линейная скорость вращения постоянна, угловая - переменна.
DVD (1997 г.) - цифровой универсальный диск (Digital Versatile Disk) - применяется для накопления видеоизображений и больших объемов любой компьютерной информации. Как и CD, они делятся на три типа. В них используется луч красного спектра с длинами волн 650 и 535 нм (нанометров) в зависимости от толщины диска.
Конструктивно эти диски аналогичны CD, но имеют бульший объем за счет бульшего числа информационных слоев.
Виды DVD и их схемы показаны ниже:
1) односторонний однослойный (SSSL - Single Sided Single Layer) - имеет конструкцию CD (рис. 4.3) - односторонний диск с одним информационным слоем, читается с одной стороны;
2) двусторонний однослойный (флиппер-диск) - DSSL (Double Sided Single Layer) - читается с двух сторон (рис. 4.4);
Рис. 4.4. Схема DVD диска типа DSSL
3) односторонний двухслойный (SSDL - Single Sided Double Layer) - двусторонний с одним информационным слоем с каждой стороны, но читается только с одной стороны (рис. 4.5). Верхний информационный и защитные слои прозрачные, нижний информационный слой непрозрачный.
Рис. 4.5. Схема DVD диска типа SSDL
4) двусторонний двухслойный (DSDL - Double Sided Double Layer) - с каждой стороны имеются по два информационных слоя, причем один из них прозрачный. Читается с двух сторон (рис. 4.6).
Рис. 4.6. Схема DVD диска типа DSDL
В магнитооптических дисках (1988 г.) запись данных осуществляется лазером с температурой 200оС в магнитооптическом слое одновременно с изменением магнитного поля (рис. 4.7).
Рис. 4.7. Схема магнитооптического диска
Под воздействием температуры в месте нагрева в магнитооптическом слое уменьшается сопротивляемость изменению полярности, и магнитное поле изменяет полярность в нагретой точке на полярность, соответствующую двоичной единице. По окончании нагрева сопротивляемость увеличивается, но установленная полярность сохраняется.
Стирание создает в магнитном поле одинаковую полярность, соответствующую двоичным нулям, при этом лазерный луч последовательно нагревает стираемый участок.
Считывание данных производится лазером с меньшей интенсивностью, не приводящей к нагреву считываемого участка. При этом в отличие от компакт-дисков поверхность диска не деформируется. Гарантируют сохранность информации - 50 лет.
4.3.2. Устройство управления
Структура устройства управления (УУ) определяется важнейшей характеристикой процессора - адресностью машинных команд (см. выше). Рассмотрим структуру УУ для двухадресных команд (рис. 4.8) и взаимодействие его элементов в процессе функционирования.
Рис. 4.8. Структура устройства управления
Блок центрального управления генерирует сигнал о начале выполнения очередной команды (связь 1). Ее адрес А находится в счетчике адреса команд.
Блок выборки из памяти по сигналу считывает из ОЗУ по адресу А, который выбирается из счетчика адреса команд (связь 8), очередную команду (связь 2) и помещает ее на временное хранение в регистр команд (связь 3).
Дешифратор кода операции выбирает код (связь 4) и расшифровывает его. Затем передает информацию блоку формирования управляющих сигналов (связь 10):
если операция арифметическая, от блока формирования управляющих сигналов поступает сигнал в блок выборки из памяти (связь 5) с командой считать из ОЗУ операнды, расположенные по адресам, указанным в регистрах первого и второго операндов (связь 6), и поместить их в соответствующие регистры АЛУ (о структуре АЛУ см. в п. 9.3). Затем формируется сигнал в АЛУ на выполнение нужной операции (связь 7). Счетчик адреса команд увеличивается на объем команды (связь 9);
если операция ввода-вывода, блок формирования управляющих сигналов формирует сигнал УВв и УВыв (связь 7). Счетчик адреса увеличивается на объем команды (по связи 9);
если операция условного перехода, блок центрального управления анализирует результат предыдущей операции, находящийся в АЛУ. Если знак результата отрицателен, в счетчик адреса команд записывается адрес из регистра первого операнда. Если знак положителен, в счетчик адреса команд записывается адрес из регистра второго операнда. Если результат равен 0, в счетчик адреса команд добавляется 1 (эти связи не показаны). Так реализуется принцип условного перехода;
если операция безусловного перехода, в счетчик адреса команд пересылается содержимое регистра первого операнда (связь не показана).
4.3.3. Арифметико-логическое устройство
Структура АЛУ представлена на рис. 4.9.
Рис. 4.9. Структура арифметико-логического устройства
Исходные данные (операнды) по командам УУ (см выше) считываются из ОЗУ в регистры первого и второго операндов (связь 1).
Из УУ в блок управления АЛУ поступает команда на выполнение той или иной операции (связь 2), которая передается им в операционную часть (связь 3).
В соответствии с этой командой операционная часть выполняет нужное действие с данными, которые выбираются из регистров первого и второго операндов (связь 6). Результат заносится в регистр результата (связь 4), откуда - в ОЗУ (связь 5).
Структура регистров АЛУ, куда помещаются исходные и результирующие данные, а также размер регистров (число двоичных разрядов t) формируют понятие разрядной сетки (далее - сетки), которое используется ниже.
Для представления данных числовых типов существуют специальные формы, используемые для унификации выполнения арифметических операций. Различаются формы представления для целых и вещественных чисел.
4.3.3.1. Формы представления целых чисел
Пусть сетка имеет в составе t двоичных разрядов. Один из разрядов (например, самый старший) резервируется для знака числа. Сам знак кодируется следующим образом: «-» соответствует 1, «+» соответствует 0. Само число представляется в двоичной системе счисления и заносится в разрядную сетку так, что его самый младший разряд помещается в самый младший разряд сетки, а последующие разряды - следом. Если число имеет меньшее количество разрядов, чем может вместить разрядная сетка, оставшиеся незаполненными разряды заполняются нулями. Таким образом, (t-1) двоичных разрядов занимаются самим числом и, возможно, дополнительными нулями и называются числовыми (в отличие от знакового разряда).
Пример 4.1. Пусть разрядная сетка имеет 8 двоичных разрядов. Разместить в ней двоичное число -101112. Результат показан ниже:
номера разрядов: |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
Здесь разряд 7 - знаковый, имеет значение 1, поскольку исходное число отрицательно. В разрядах 0 - 4 размещено само исходное число, разряды 5 и 6 заполнены дополнительными нулями.
Пример 4.2. Пусть разрядная сетка имеет 8 двоичных разрядов. Разместить в ней двоичное число 101112. Результат показан ниже:
номера разрядов: |
7 |
5 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
Различие с предыдущим примером в значении седьмого разряда: поскольку исходное число положительно, там записан 0.
Пример 4.3. Пусть разрядная сетка имеет 8 двоичных разрядов. Разместить в ней двоичное число 111101112.
Поскольку размещаемое число содержит разрядов больше, чем количество числовых разрядов разрядной сетки (оно равно 7), задача не имеет решения. Возникает ситуация переполнения (overflow), которая для целых чисел приводит к логической ошибке при выполнении операции.
4.3.3.2. Формы представления вещественных чисел
Для представления вещественных чисел используется логарифмическое представление, или форма с плавающей точкой, или экспоненциальная форма. Она была введена в обиход в 1937 году немецким ученым Конрадом Цузе.
Формальная запись такой формы имеет вид: x = m be, где x - вещественное число, m - мантисса числа, b - основание системы счисления, e - порядок (целое).
При обозначении основания b и порядка e используется, как правило, десятичная система счисления. При обозначении мантиссы m применяется, как правило, та система счисления, в которой представлено само число x.
Данная форма позволяет перемещать десятичную запятую в вещественном числе вправо и влево, не меняя истинного значения числа.
Пример 4.4. Выполнить представление в логарифмической форме десятичного числа 34,28, превратив его в правильную дробь.
Для решения этой задачи надо десятичную запятую в числе сместить как минимум на два разряда влево, т.е. в таком случае уменьшить число на два порядка. Для сохранения первоначального значения числа введем в его запись порядок, равный +2. Имеем: 34,28 = 0,342810+2. Здесь 0,3428 - мантисса числа, 10 - основание системы счисления, +2 (можно просто 2) - порядок.
Пример 4.5. Выполнить представление в логарифмической форме двоичного числа 0,1011012, превратив его в целое число.
Для решения задачи необходимо сдвинуть десятичную запятую на шесть разрядов вправо, т.е. увеличить число на шесть порядков. Для сохранения первоначального значения числа в его запись введем порядок, равный -6. Имеем: 0,1011012 = 10110122-6.
Для простоты обозначения числа в логарифмической форме используют специальный разделитель - букву Е (от слова exponential, англ., - экспоненциальный). Тогда результаты из предыдущих примеров приобретут другой вид:
0,3428 102 0,3428Е2,
1011012 2-6 1011012Е-6.
В этой записи основание системы счисления b подразумевается равным основанию системы счисления для мантиссы m.
Разновидностью экспоненциальной формы является ее нормализованный вид. Нормализованное вещественное число в экспоненциальной форме имеет мантиссу в виде правильной дроби, у которой старший дробный разряд отличен от 0. Например, 0,2345; 0,10112; 0,ADC2316.
Разрядная сетка для вещественного числа состоит из двух частей: одна предназначена для размещения порядка, другая - для мантиссы. По одному разряду в обеих частях отводится для знака - порядка и мантиссы. Перед размещением в разрядной сетке вещественное число в обязательном порядке должно быть нормализовано.
Размещение порядка выполняется аналогично размещению целого числа. При размещении мантиссы используется только ее дробная часть: старший числовой разряд размещается в самом левом числовом разряде отведенной под нее разрядной сетки. Если число разрядов мантиссы меньше, чем число разрядов сетки, оставшиеся разряды заполняются нулями. Если разрядов сетки не хватает, неразмещенные двоичные цифры отбрасываются.
Пример 4.6. Пусть разрядная сетка имеет четырнадцать двоичных разрядов, из них пять разрядов отводятся под порядок, девять - под мантиссу. Пусть под знак отводятся самые левые разряды в соответствующих частях разрядной сетки. Разместить в сетке двоичное число 0,111012Е-4:
номера разрядов: |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
Здесь разряды 9 - 13 отведены под порядок, 0 - 8 - под мантиссу. Знаковые разряды, соответственно, имеют номера 13 и 8: поскольку порядок отрицателен, разряд 13 содержит 1; мантисса положительна, поэтому разряд 8 равен 0. В разрядах 9 - 11 размещено значение порядка в двоичной системе счисления. Оставшийся «лишним» разряд 12 заполнен 0. В разрядах 7 - 3 помещено значение мантиссы. Оставшиеся незанятыми разряды 0 - 2 заполнены 0.
Пример 4.7. Пусть разрядная сетка имеет четырнадцать двоичных разрядов, из них пять разрядов отводятся под порядок, девять - под мантиссу. Пусть под знак отводятся самые левые разряды в соответствующих частях разрядной сетки. Разместить в сетке двоичное отрицательное число -0,11101101112Е4:
номера разрядов: |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
Здесь знаковые разряды имеют значения, противоположные предыдущему примеру. Поскольку число разрядов мантиссы превышает вместимость разрядной сетки, часть из них потеряна: так, вместо мантиссы 0,1110110111 размещена мантисса 0,11101101. Таким образом, при размещении вещественных чисел возможна потеря информации, что приводит к неточным вычислениям на компьютере. Напомним, что часть информации теряется при переводе чисел в двоичную систему счисления. Для повышения точности вычислений рекомендуется использовать типы данных с повышенной разрядностью, например, для Турбо-Паскаля тип long integer вместо integer.
4.3.3.3. Коды представления числовых данных
Для представления данных числовых типов существуют специальные коды, которые призваны облегчить выполнение арифметических операций:
прямой код есть двоичный эквивалент числа;
обратный код строится только для отрицательного числа -х. Пусть двоичное значение числа -х расположено в n двоичных разрядах. Тогда значение обратного кода для х (обозначим х) определяется по формуле:
. (4.1)
Иными словами, это преобразованный прямой код, в котором все числовые разряды инвертируются, т.е. 1 преобразуются в 0, 0 превращается в 1;
дополнительный код строится только для отрицательного числа -х. Пусть двоичное значение числа -х расположено в n двоичных разрядах. Тогда значение дополнительного кода для х (обозначим х) определяется по формуле (4.2):
. (4.2)
Это обратный код, к которому прибавляется 1.
Очевидно следующее: х + х = 2n -1.
Пример 4.8. Пусть разрядная сетка имеет 4 двоичных разряда, т.е. n=4. Надо построить обратный и дополнительный коды числа -2.
Разместим прямой код числа -2 в разрядной сетке:
1 |
0 |
1 |
0 |
Для получения обратного кода рассчитаем его значение по формуле (4.1): x=24-2-1=16-3=13. Разместим полученное число 13 (13=11012) в заданной разрядной сетке:
1 |
1 |
0 |
1 |
Сравнение обеих разрядных сеток позволяет утверждать, что обратный код можно получить, инвертировав числовые разряды исходного отрицательного числа.
Для получения дополнительного кода рассчитаем его значение по формуле (4.2): x=24-2=16-2=14. Разместим полученное число 14 (14=11102) в заданной разрядной сетке:
1 |
1 |
1 |
0 |
Сравнение разрядных сеток (последней и для обратного кода) позволяет утверждать, что дополнительный код можно получить, увеличив на 1 обратный код числа.
4.3.3.4. Принципы выполнения арифметической операции сложения
В основе выполнения всех простейших арифметических действий лежит операция сложения. Рассмотрим ее выполнение для целых и вещественных чисел.
При сложении целых чисел последовательность шагов следующая:
слагаемые размещаются в разрядных сетках в прямых кодах;
отрицательное слагаемое (или слагаемые) преобразуется в обратный или дополнительный код (в зависимости от того, в какой форме выполняет операции АЛУ);
слагаемые складываются по правилам сложения двоичных чисел. При этом знаковые разряды участвуют в вычислениях наряду с числовыми;
единица переноса из знакового разряда (если таковая возникнет) отбрасывается при сложении в дополнительном коде или прибавляется к младшему числовому разряду при сложении в обратном коде;
если результат положителен - он представлен в прямом коде и не требует никаких преобразований. Если результат отрицателен, то он представлен в обратном или дополнительном коде в зависимости от того, в каком коде происходило сложение. Результат в таком случае преобразуется в прямой код.
Пример 4.9. Сложить в обратном коде числа -34 и +15. Разрядная сетка - восемь бит.
преобразуем слагаемые в прямые коды и разместим их в разрядных сетках:
-34 = -1000102
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
+15 = +11112
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
преобразуем отрицательное слагаемое в обратный код:
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
складываем слагаемые:
слагаемые |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
||
результат |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
единица переноса не образована;
судя по знаку, результат отрицателен, значит, представлен в обратном коде (поскольку сложение выполнялось в этом коде) и требует перевода в прямой код:
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
Таким образом, получено число -100112. Для проверки правильности результата представим его в десятичной системе счисления. Имеем: -100112 = -19, что соответствует правильному результату.
Пример 4.10. Сложить в обратном коде числа -34 и -15. Разрядная сетка - восемь бит.
преобразуем слагаемые в прямые коды и разместим их в разрядных сетках:
-34 = -1000102
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
-15 = -11112
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
преобразуем отрицательные слагаемые в обратный код:
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
складываем слагаемые:
слагаемые |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
||
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
|||
результат |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
|
единица переноса из знакового разряда |
образовалась единица переноса из знакового разряда. В соответствии с правилами сложения в обратном коде она прибавляется к младшему числовому разряду:
результат |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
|
единица переноса |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
окончательный результат |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
судя по знаку, результат отрицателен, значит, представлен в обратном коде (поскольку сложение выполнялось в этом коде) и требует перевода в прямой код. Имеем:
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
Таким образом, получено число -1100012. Для проверки правильности результата представим его в десятичной системе счисления. Имеем: -1100012 = -49, что соответствует правильному результату.
Пример 4.11. Сложить в дополнительном коде числа -34 и -15. Разрядная сетка - восемь бит.
Первый этап совпадает с предыдущим примером.
Преобразуем слагаемые в дополнительный код. Для этого воспользуемся обратными кодами из предыдущих примеров:
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
Складываем эти слагаемые и имеем результат:
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
|
единица переноса из знакового разряда |
Поскольку сложение выполняется в дополнительном коде, единица переноса из знакового разряда теряется. Таким образом, полученный результат в дополнительном коде. Поскольку он отрицателен, преобразуем его в прямой код:
результат |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
|
обратный код |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
прямой код результата |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
При сложении в обратном или дополнительном коде возникают ситуации переполнения.
Пример 4.12. Сложить в обратном коде числа -64 и -67. Разрядная сетка - восемь бит.
После перевода чисел в двоичную систему счисления и размещения в разрядной сетке полученных прямых кодов имеем:
для -64
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
для -67
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
После перевода обоих слагаемых в обратный код и сложения имеем:
слагаемые |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
||
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
|||
результат |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
|
единица переноса из знакового разряда |
После сложения единицы переноса имеем окончательный результат:
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
Анализ показывает, что результат положительный, что противоречит исходным данным: складывались два отрицательных числа. Это свидетельствует о переполнении (overflow) разрядной сетки.
Таким образом, формальным признаком переполнения разрядной сетки при выполнении операции сложения является то, что знак результата отличается от знаков слагаемых. Такая ситуация может возникнуть только при сложении чисел с одинаковыми знаками. С подобными ситуациями при сложении целых чисел самостоятельно компьютер не справляется, требуется вмешательство программиста.
Порядок действий при сложении вещественных чисел гораздо сложнее, нежели для целых чисел. Он приводится ниже:
слагаемые размещаются в разрядных сетках в прямых кодах;
определяется, порядок какого слагаемого меньше и насколько меньше. Для этого из любого из двух порядков вычитается оставшийся порядок и анализируется результат: если результат положителен, то большим порядком является уменьшаемое, если отрицателен, - то вычитаемое. Значение результата используется в следующих двух шагах. При вычитании, очевидно, выполняется сложение в обратном или дополнительном коде, причем в случае работы с порядками, которые являются целыми числами, эта операция идентична рассмотренной ранее;
порядок слагаемого, имеющий меньшее значение, заменяется на второй порядок;
числовые разряды мантиссы слагаемого с меньшим порядком сдвигаются вправо на столько разрядов, на сколько был увеличен меньший порядок. Часть разрядов при этом теряется, а оставшиеся свободными разряды заполняются нулями. Шаги 2 - 4 позволяют выровнять порядки исходных слагаемых, что создает необходимые условия для алгебраического сложения;
мантиссы складываются. При этом отрицательные мантиссы переводятся в обратный или дополнительный код и складываются по правилам, рассмотренным ранее. Результату приписывается общий (выровненный в предыдущих шагах) порядок;
в случае необходимости мантисса результата нормализуется. Необходимость нормализации определяется старшим числовым разрядом мантиссы: если он равен 0, нормализация нужна. Для этого мантисса сдвигается влево на нужное количество разрядов, а порядок уменьшается на соответствующее число. При этом, очевидно, уменьшение порядка выполняется как сложение с константой в обратном или дополнительном коде. Оставшиеся незаполненными младшие разряды мантиссы заполняются нулями.
Пример 4.13. Сложить в дополнительном коде 0,10112Е-2 и -0,10012Е-3. Разрядная сетка из девяти разрядов, из них четыре разряда - под порядок, пять разрядов - под мантиссу.
Решение показано ниже:
разместим слагаемые в разрядных сетках:
0,10112Е-2
1 |
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 |
0 |
1 |
0 |
Таким образом, результат увеличения меньшего порядка равен -102 = -2.
сдвиг числовых разрядов мантиссы на один разряд вправо (на время «забываем» о порядке):
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.
При сложении вещественных чисел также возникают ситуации переполнения, с которыми компьютер справляется самостоятельно. Рассмотрим еще один пример.
Пример 4.14. Сложить в дополнительном коде -0,11002Е4 и -0,10002Е4. Разрядная сетка из девяти разрядов, из них четыре разряда - под порядок, пять разрядов - под мантиссу.
Решение:
разместим слагаемые в разрядных сетках:
-0,11002 Е4
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
-0,10002 Е4
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. Оба слагаемых положительны, поэтому никаких преобразований не требуется:
слагаемые |
0 |
1 |
0 |
0 |
|
0 |
0 |
0 |
1 |
||
результат |
0 |
1 |
0 |
1 |
Таким образом, результат примера 4.14 имеет вид:
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 |
|
прямой код результата |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
Очевидно, не всегда компьютер в состоянии справиться с переполнением при сложении вещественных чисел. Ограничением является размер разрядной сетки порядка.
ЛИТЕРАТУРА
Гаврилов, М.В. Информатика и информационные технологии. - М.: Юрайт, 2011. - 350 с.
Информатика. Базовый курс: учеб./ под ред. С.В. Симоновича. - СПб.: Питер, 2005. - 347 с.
Информатика: учеб. / Л.А. Матвеев [и др.]. - М.: Финансы и статистика, 2006. - 496 с.
Информатика: учеб. пособ. / А.П. Курносов [и др.]. - М.: КолосС, 2005. - 561 с.
Информатика: учеб./ под ред. В.В. Трофимова. - М.: Юрайт, 2011. - 911 с.
Мациевский, С.В. Теоретическая информатика. - Калининград: изд-во РГУ. - 2007. - 501 с.
ПРИЛОЖЕНИЕ 1. Положения комбинаторики, используемые в измерении информации
Комбинаторика - раздел дискретной математики, изучающий способы формирования подмножеств из элементов исходных множеств.
В соответствии с положениями комбинаторики, из конечного счетного множества элементов мощности h можно сформировать следующие простейшие виды комбинаций элементов:
сочетания С, когда элементы исходного множества группируются в подмножества одинаковой мощности l, такие, что элементы в них различаются составом, а порядок элементов безразличен.
Например, пусть исходное множество содержит некоторые символы латинского алфавита и имеет вид - {a,b,c} (h=3). Тогда можно сформировать следующие подмножества мощности 2 по правилу сочетаний: {a,b}, {a,c}, {b,c}. В соответствии с определением сочетания множества {a, b} и {b, a} являются идентичными и не формируются.
перестановки П, когда элементы исходного множества группируются в подмножества одинаковой мощности l (l = h) такие, что элементы в них различаются только порядком.
Например, из приведенного выше исходного множества можно сформировать следующие подмножества по правилу перестановок: {a,b,c}, {b,c,a}, {a,c,b}, {b,a,c}, {c,a,b}, {c,b,a}.
размещения Р, когда элементы исходного множества группируются в подмножества одинаковой мощности l, такие, что элементы в них различаются и составом, и порядком.
Например, из приведенного выше исходного множества можно сформировать следующие подмножества по правилу размещения: {a,b}, {b,a}, {a,c}, {c,a}, {b,c}, {c,b}.
Помимо указанных способов, возможны их модификации, когда элементы в результирующих подмножествах могут повторяться (тогда указанные соотношения между l и h не выполняются). В этом случае говорят о группировании элементов с повторениями, причем для перестановки указывается, сколько раз повторяется в результирующем подмножестве каждый элемент. Так получаем следующие результаты для примера исходного множества:
сочетания по 2 элемента с повторениями (Сп): {a,b}, {a,c}, {b,c}, {a,a}, {b,b}, {c,c};
перестановки с повторениями (Пп) (число повторений задано: ra=2, rb=1, rc=1, где ri - число повторений элемента i): {a,a,b,c}, {a,a,c,b}, {a,b,a,c}, {a,b,c,a}, {a,c,a,b}, {a,c,b,a}, {b,c,a,a}, {b,a,c,a}, {b,a,a,c}, {c,a,a,b}, {c,a,b,a}, {c,b,a,a};
размещения по 2 элемента с повторениями (Рп): {a,b}, {b,a}, {a,c}, {c,a}, {b,c}, {c,b}, {a,a}, {b,b}, {c,c}.
Комбинаторика позволяет для каждого из шести указанных способов группирования элементов рассчитывать число получаемых подмножеств:
число сочетаний из h элементов по l без повторений :
число сочетаний из h элементов по l с повторениями :
число перестановок из h элементов без повторений :
число перестановок из h элементов с повторениями ri, где i - номер символа из исходного множества, :
число размещений из h элементов по l без повторений :
число размещений из h элементов по l c повторениями :
Рассчитаем число получаемых подмножеств элементов для приведенного выше примера. Имеем:
число сочетаний из 3 элементов по 2 без повторений :
число сочетаний из 3 элементов по 2 с повторениями :
число перестановок из 3 элементов без повторений П(3):
число перестановок из 3 элементов с повторениями Пп(3), причем ra=2, rb=1, rc=1:
число размещений из 3 элементов по 2 без повторений :
число размещений из 3 элементов по 2 с повторениями :
Подобные документы
Понятие и назначение носителя информации, его разновидности и характерные особенности, возможности применения. Аппаратура систем обработки информации в технике и управлении. Виды информации в зависимости от формы ее представления, ее свойства и значение.
контрольная работа [263,6 K], добавлен 08.03.2010Понятие об информации. Информатика, краткая история информатики. Информация аналоговая и цифровая. Аналого-цифровое преобразование, устройства аналоговые и цифровые. Понятие о кодировании информации. Хранение цифровой информации. Бит.
реферат [68,9 K], добавлен 23.11.2003Электронно-вычислительная машина (ЭВМ) как средство обработки информации. Аппаратные и программные средства ЭВМ. Системы счисления и представления информации. Элементы структурного программирования. Построение блок-схем алгоритмов решения задач.
презентация [152,5 K], добавлен 26.07.2013Определение информации, ее виды и свойства. Назначение основных блоков компьютера: процессор, память, системная магистраль, внешнее устройство. Архитектура фон Неймана. Характерные черты информации. Принцип использования двоичной системы счисления.
контрольная работа [333,2 K], добавлен 21.02.2010Содержательный и кибернетический подходы к определению и измерению информации. Кодирование символьной информации в компьютере. Линия информации и информационных процессов. Обзор процесса передачи информации по техническим каналам связи. Языки информатики.
презентация [173,0 K], добавлен 19.10.2014Формирование информатики как науки. Единство разнообразных отраслей науки, техники и производства, связанных с переработкой информации. Теоретическая информатика, кибернетика, программирование, искусственный интеллект и вычислительная техника.
реферат [45,8 K], добавлен 30.11.2012Информатика - наука об информации, технических средствах ее сбора, хранения, обработки, передачи. Носители информации, память. Носители информации вещество и поле. Процесс сообщения. Целенаправленная передача информации. Непрерывное и дискретное знания.
автореферат [667,1 K], добавлен 08.06.2008Виды информации, с которыми работают современные компьютеры. Понятие "информация": в физике, в биологии, в кибернетике. Представление информации. Кодирование и каналы передачи информации. Локальные компьютерные сети. Хранение информации в файлах.
контрольная работа [26,4 K], добавлен 13.01.2008Информатика — компьютерная (вычислительная) наука об информационных процессах, ее цель и задачи: способы получения, накопление, хранение, преобразование, передача и использование информации. Атрибутивные и динамические свойства информации, кодировка.
презентация [92,2 K], добавлен 22.10.2012Символьное и образное представление информации. Единицы ее измерения. Язык как способ символьного представления информации. Знак как элемент конечного множества. Алфавитный подход к измерению информации. Решение задач на определение ее количества.
презентация [178,2 K], добавлен 12.12.2012