Информатика: аппаратные средства персонального компьютера — страница 7 из 19

31 – 1) … + 231 – 1 и -(263-1) … + 263 – 1.

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

Вещественные числа (конечные и бесконечные десятичные дроби) обрабатываются и хранятся в компьютере в формате с плавающей запятой. При таком формате представления числа положение запятой в записи может изменяться. Любое вещественное число Къ формате с плавающей запятой может быть представлено в виде:

где А – мантисса числа; h – основание системы счисления; р – порядок числа.

Выражение (2.7) для десятичной системы счисления примет вид:

для двоичной —

для восьмеричной —

для шестнадцатеричной —

и т. д.

Такая форма представления числа также называется нормальной. С изменением порядка запятая в числе смещается, т. е. как бы плавает влево или вправо. Поэтому нормальную форму представления чисел называют формой с плавающей запятой. Десятичное число 15,5, например, в формате с плавающей запятой может быть представлено в виде: 0,155 · 102; 1,55 · 101; 15,5 · 100; 155,0 · 10-1; 1550,0 · 10-2 и т. д. Эта форма записи десятичного числа 15,5 с плавающей запятой не используется при написании компьютерных программ и вводе их в компьютер (устройства ввода компьютеров воспринимают только линейную запись данных). Исходя из этого выражение (2.7) для представления десятичных чисел и ввода их в компьютер преобразовывают к виду

где Р – порядок числа,

т. е. вместо основания системы счисления 10 пишут букву Е, вместо запятой – точку, и знак умножения не ставится. Таким образом, число 15,5 в формате с плавающей запятой и линейной записи (компьютерное представление) будет записано в виде: 0.155Е2; 1.55Е1; 15.5Е0; 155.0Е-1; 1550.0Е-2 и т.д.

Независимо от системы счисления любое число в форме с плавающей запятой может быть представлено бесконечным множеством чисел. Такая форма записи называется ненормализованной. Для однозначного представления чисел с плавающей запятой используют нормализованную форму записи числа, при которой мантисса числа должна отвечать условию

где |А| — абсолютное значение мантиссы числа.

Условие (2.9) означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля, или, другими словами, если после запятой в мантиссе стоит не нуль, то число называется нормализованным. Так, число 15,5 в нормализованном виде (нормализованная мантисса) в форме с плавающей запятой будет выглядеть следующим образом: 0,155 · 102, т. е. нормализованная мантисса будет A = 0,155 и порядок Р = 2, или в компьютерном представлении числа 0.155Е2.

Числа в форме с плавающей запятой имеют фиксированный формат и занимают в памяти компьютера четыре (32 бит) или восемь байт (64 бит). Если число занимает в памяти компьютера 32 разряда, то это число обычной точности, если 64 разряда, то это число двойной точности. При записи числа с плавающей запятой выделяются разряды для хранения знака мантиссы, знака порядка, мантиссы и порядка. Количество разрядов, которое отводится под порядок числа, определяет диапазон изменения чисел, а количество разрядов, отведенных для хранения мантиссы,  – точность, с которой задается число.

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

1)  производится выравнивание порядков чисел, над которыми совершаются арифметические операции (порядок меньшего по модулю числа увеличивается до величины порядка большего по модулю числа, мантисса при этом уменьшается в такое же количество раз);

2)  выполняются арифметические операции над мантиссами чисел;

3)  производится нормализация полученного результата.

Поясним сказанное выше на примерах.

Пример 1

Произведем сложение двух чисел 0,5 · 102 и 0,8 · 103 в формате с плавающей запятой.

Решение.

Проведем выравнивание порядков и сложение мантисс 0,05 · 103 + 0,8 · 103 = 0,85 · 103. Полученная мантисса 0,85 является нормализованной, так как удовлетворяет условию (2.9).

Пример 2

Произведем сложение двух чисел 0,1 · 22 и 0,1 · 23 в формате с плавающей запятой.

Решение.

Проведем выравнивание порядков и сложение мантисс: 0,01 · 23 + 0,1 · 23 = 0,11 · 23. Полученная мантисса 0,11 является нормализованной, так как удовлетворяет условию (2.9).

Упражнения для самостоятельного выполнения

1. Перевести числа, записанные в римской системе счисления, в числа десятичной системы счисления:

a)  XL; б) СХХХ; в) CDXXVIII; г) CMLXXVI; д) MCMLII; е) MMV.

2. Используя программу MS Excel, реализовать автоматический перевод чисел из десятичной системы счисления в римскую.

3. Создать и заполнить все ячейки следующей таблицы, используя табличный процессор MS Excel.

4. Используя формулы (2.1) —(2.6) записать в развернутом виде числа:

a)  K10 = 12355; б) К8 = 321476; в) К2 = 101110011;

г)  K16 = 143D5; е) K10 = 769,314; ж) К8 = 0,1734;

з)  K2 = 100101,011; и) K16 = ЗА1,5С1.

5. Заполнить все строки следующей таблицы.

6. Правильно ли записаны числа в соответствующих системах счисления:

а)  К2 = 100200; б) K16 = CD1; в) K10 = F,345; г) K8 = -122453?

7. Какие из чисел 3D716, 100101112, 3758 и 134245 являются наибольшим и наименьшим?

8. Перевести числа 23410, 100010, 30,7510, 9,810 в двоичную, восьмеричную и шестнадцатеричную системы счисления.

9. Перевести числа 100012, 1010,012, 1111112, 1001110,0112 в десятичную, восьмеричную и шестнадцатеричную системы счисления.

10. Перевести числа 2716, D,1B16, 4116, 25E,816 в двоичную, восьмеричную и десятичную системы счисления.

11. Перевести числа 2378, 10508, 33,758, 0,7568 в двоичную, десятичную и шестнадцатеричную системы счисления.

12. Какое число следует и предшествует каждому из приведенных ниже чисел:

а) 1213; б) 9А16; в) 10011012; г) 7358 д) 23410; е) 1356; ж) 2589?

13. Выполнить арифметические действия:

а) 468 + 1358; г) 2128 – 1658; ж) 128 · 1378;

б) 10101112 + 1012; д) 10110012 – 101112; з) 110121012;

в) 1АЕ16 + 32В16; е) 10C16 – D16; и) 3D16 · 1A16.

14. Создать и заполнить в MS Excel таблицу, записав десятичные числа в заданном компьютерном представлении:

15. Создать и заполнить в MS Excel таблицу, записав десятичные числа в прямом, обратном и дополнительных кодах в 16-разрядном компьютерном представлении:

16. Представить заданные числа в форме с плавающей запятой и нормализованном виде:

а) 234,67810; б) 102410; в) 3576910; г) 0,12610;

д) 1112; е) 478; ж) 1DC16.

17. Произвести сложение, вычитание и умножение следующих чисел в формате с плавающей запятой:

а) 0,537 · 102 и 0,25 · 101; б) 0,1 · 21 и 0,1 · 2-2.

Глава 3Кодирование текстовой и графической информации

3.1. Кодирование текстовой информации

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

Современные кодовые таблицы включают в себя международную и национальную части, т. е. содержат буквы латинского и национального алфавитов, цифры, знаки арифметических операций и препинания, математические и управляющие символы, символы псевдографики. Международная часть кодовой таблицы, базирующаяся на стандарте ASCII (American Standard Code for Information Interchange), кодирует первую половину символов кодовой таблицы с числовыми кодами от 0 до 7F16, или в десятичной системе счисления от 0 до 127. При этом коды от 0 до 20