- •Основные понятия и определения информатика.
- •Информационные процессы и системы.
- •Информационные ресурсы и технологии.
- •История развития информатики.
- •Меры информации синтаксического уровня.
- •Меры информации семантического уровня.
- •Меры информации прагматического уровня.
- •Качество информации.
- •Позиционные с/с и методы перевода чисел.
- •3.4.3. Арифметические действия над нормализованными числами
- •Представление графической информации.
- •Обработка аналоговой и цифровой информации.
- •Классификация компьютерных средств обработки информации.
- •Классификация программного обеспечения.
- •Сервисное по включает:
- •Кодирование и квантование сигналов.
- •Принцип программного управления эвм.
- •Функциональная и структурная организация пк.
- •Структуры данных.
- •Файлы данных, файловые структуры.
- •Носители информации и технические средства хранения данных.
- •Виды и характеристики носителей и сигналов.
- •Помехоустойчивое кодирование.
3.4.3. Арифметические действия над нормализованными числами
При алгебраическом сложении и вычитании чисел, представлениях в формате с плавающей запятой, сначала уравниваются порядки слагаемых. В процессе выравнивания порядков мантисса числа с меньшим порядком сдвигается в своем регистре вправо на количество разрядов, равное разности порядков операндов. После каждого сдвига порядок увеличивается на единицу. В результате выравнивания порядков одноименные разряды чисел оказываются расположенными в соответствующих разрядах обоих регистров, после чего мантиссы складываются или вычитаются. В случае необходимости полученный результат нормализуется путем сдвига мантиссы результата влево. После каждого сдвига влево порядок результата уменьшается на единицу. Ниже в примерах для упрощения расчетов порядок представлен в обычной двоичной форме.
Пример. Сложите двоичные нормализованные числа 0,10111•10-1 и 0,11011•1010. Разность порядков слагаемых равно трем, поэтому перед сложением мантисса первого числа сдвигается на три разряда вправо
0,00010111•1010
+
0,11011 •1010
---------------------
0,11101111•1010
Пример. Выполним вычитание двоичных нормализованных чисел 0,10101•1010 и 0,11101•101. Разность порядков уменьшаемого и вычитаемого здесь равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо:
0,10101 •1010
–
0,011101•1010
--------------------
0,001101•1010
Результат получился не нормализованным, поэтому его мантисса сдвигается влево на два разряда с соответствующим уменьшением порядка на две единицы: 0,1101•100 .
При умножении порядки складываются, а мантиссы перемножаются.
Пример. Выполним умножение двоичных нормализованных чисел:
(0,11101•10101) • (0,1001 • 1011) = (0,11101 • 0,1001) • 10(101+11)=0,100000101 • 101000.
При делении из порядка делимого вычитается порядок делителя, а над мантиссами совершается обычная операция деления. В случае необходимости полученный результат нормализуется.
Пример. Выполним деление двоичных нормализованных чисел.
0,1111•10100: 0,101•1011= (0,1111 : 0,101) •10(100-11) = 1,1•101 =0,11•1010
-
Представление символьной информации.
Символьная информация хранится и обрабатывается в ЭВМ в виде цифрового двоичного кода. Применяются две системы кодирования: символьной информации и десятичных чисел.
В 60-х годах XX века в американском национальном институте стандартизации (ANSI) была разработана таблица кодирования символов, которая впоследствии была использована во всех операционных системах. Эта таблица называется ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией). Чуть позже появилась расширенная версия ASCII.
В соответствие с таблицей кодирования ASCII для представления одного символа выделяется 1 байт (8 бит). Набор из 8 бит может принять 28 = 256 различных значений. Первые 128 значений (от 0 до 127) постоянны и формируют так называемую основную часть таблицы, куда входят десятичные цифры, буквы латинского алфавита (заглавные и строчные), знаки препинания (точка, запятая, скобки и др.), а также пробел и различные служебные символы (табуляция, перевод строки и др.). Цифры имеют коды с 48 по 57. Заглавные буквы латинского алфавита A – Z имеют коды с 65 по 90, строчные a – z с 95 по 122.
Значения от 128 до 255 формируют дополнительную часть таблицы, где принято кодировать символы национальных алфавитов.
Поскольку национальных алфавитов огромное множество, то расширенные ASCII-таблицы существуют во множестве вариантов. Даже для русского языка существуют несколько таблиц кодирования (распространены ГОСТ-альтернативная кодировка, Windows-1251, КОИ-8). Так в кодировке Windows-1251 заглавные буквы русского алфавита имею коды с 192 по 223, строчные буквы – с 224 по 255. Эта кодировка используется ПК, работающих на платформе Windows. Кодировка КОИ-8 является стандартной в сообщениях электронной почты.
Все это создает дополнительные трудности. Например, мы отправляем письмо, написанное в одной кодировке, а получатель пытается прочитать ее в другой. В результате видит нечитаемый текст. Поэтому читающему требуется применить для текста другую таблицу кодирования.
Есть и другая проблема. В алфавитах некоторых языков слишком много символов и они не помещаются в отведенные им позиции с 128 до 255 однобайтовой кодировки.
Третья проблема - что делать, если в тексте используется несколько языков (например, русский, английский и французский)? Нельзя же использовать две таблицы сразу.
Для решения вышеизложенных проблем в начале 90-х был разработан стандарт кодирования символов, получивший название Unicode. Данный стандарт позволяет использовать в тексте почти любые языки и символы.
В Unicode для кодирования символов предоставляется 31 бит (4 байта за вычетом одного бита). Количество возможных комбинаций дает огромное число: 231 = 2 147 483 684 (т.е. более двух миллиардов). Поэтому Unicode описывает алфавиты всех известных языков, включает многие математические и иные специальные символы. Однако информационная емкость 31-битового Unicode все равно остается слишком большой. Поэтому чаще используется сокращенная 16-битовая версия (216 = 65 536 значений), где кодируются все современные алфавиты. В Unicode первые 128 кодов совпадают с таблицей ASCII.