- •Конспект лекций по информатике и программированию
- •Часть 1. Основы информатики
- •1. Проблемы информатизации современного общества
- •1.1 Информация и время
- •1.2. Информатика
- •1.3. Как развивалась информатика
- •1.4. Рождение эвм
- •1.5. Современная информатика
- •1.6. Компьютеризация общества
- •1.7. Информационная технология
- •Литература
- •2. Основные понятия информатики
- •2.1. Определение информации
- •2.2. Количество информации
- •2.3. Кодирование информации
- •2.4. Участники процесса передачи информации
- •2.5. Ценность информации
- •2.6. Формы представления информации
- •2.7. Размерность информационных множеств
- •2.8. Параметрическая информация
- •2.9. Элементы теории информации
- •3. Арифметические основы эвм
- •3.1. Системы счисления
- •3.2. Позиционные и непозиционные системы счисления
- •3.3. Двоичная система счисления
- •3.4. Арифметические действия и коды чисел
- •3.5. Представление информации в форме с фиксированной и плавающей точкой
- •3.6. Прямая, обратная и дополнительная форма представления двоичных чисел в эвм
- •4. Логические основы эвм
- •4.5. Логические функции
- •4.6. Область определения логических функций
- •4.6. Таблица истинности
- •4.7. Логические функции одной переменной
- •4.8. Логические функции двух переменных
- •4.9. Теоремы разложения
- •4.10. Представление логической функции в виде сднф и скнф
- •4.10.1. Первичные термы
- •4.10.2. Минтермы и макстермы
- •4.10.3. Запись функции в виде сднф и скнф
- •4.10.4. Совершенные нормальные формы в базисах и-не и или-не
- •4.11. Минимизация логических функций
- •4.11.2. Правила минимизации логических функций
- •4.11.3. Минимизация функции с помощью карты Карно
3.5. Представление информации в форме с фиксированной и плавающей точкой
При рассмотрении систем счисления мы оперировали в основном целыми числами, т.е. числами у которых точка, отделяющая целую часть числа от дробной, располагается справа от крайнего правого разряда. Но в инженерных и научных расчетах не обойтись без учета дробных чисел. Тогда точку можно располагать левее от крайних правых разрядов, добиваясь при этом необходимой точности вычислений. Так, в 16-pазpядном двоичном числе расположение точки справа от левого крайнего разряда даст максимальную точность при вычислении положительных значений синуса:
0.0000000000000002= 010
0.1000000000000002= 0.510
1.0000000000000002= 1.010
Разряд двоичного числа представляется в ЭВМ некоторым техническим устройством, например триггером, двум различным состояниям которого приписывают значения 0 или 1. Набор соответствующего количества таких устройств служит для представления многоразрядного двоичного числа.
В общем случае положение точки в числе может быть любым, но в дальнейших операциях неизменным. Такое представление числа называется представлением в формате с фиксированной точкой.
При представлении чисел с фиксированной точкой положение запятой фиксируется в определенном месте относительно разрядов числа. Обычно подразумевается, что точка (запятая) находится или перед старшим разрядом, или после младшего. В первом случае могут быть представлены числа, которые по модулю меньше 1, во втором – только целые числа.
-
Знак
2-1
2-2
…
…
2-31
0 1 2 3 4 5 6 ….. 31 - представление двоичных чисел с фиксированной точкой в виде 32-разрядных слов для случая закрепления точки перед старшим разрядом.
-
Знак
230
…
…
…
20
0 1 2 3 4 5 6 ….. 31 - представление двоичных чисел с фиксированной точкой в виде 32 разрядных слов для случая закрепления точки после младшего разряда.
Для кодирования знака числа используется «знаковый» разряд: 0 - это +(плюс), 1 - это–(минус). Наибольшее положительное число, представимое в первой разрядной сетке, равно 0,1..1 = 1-2-31 , а наименьшее число 0,00…01 = 2-31Таким образом, в разрядной сетке могут быть представлены числа в диапазоне от –(1-2-31) до -2-31и от 2-31до (1-2-31). Диапазон чисел, для второго случая:
1х231-1.
При выполнении на машине вычислений необходимо чтобы все исходные и получающиеся в процессе вычислений данные не выходили за диапазон чисел, представимых в разрядной сетке.
Сложение и вычитание чисел с фиксированной точкой производится по правилам обычного двоичного сложения и вычитания, так как результат операции не влияет на положение точки.
Недостаток формата с фиксированной точкой (сравнительно небольшой диапазон представляемых чисел) устраняется представлением чисел в формате с плавающей точкой(floating point format), который является основным в компьютерах. Одако наряду с этой формой представления используется также и представление с фиксированной точкой для целых двоичных чисел и операций над ними, в частности операции над кодами адресов.
В формате с плавающей точкой разряды числа разбиваются на два поля, имеющие названия мантисса и порядок. Если обозначить мантиссубуквой M, апорядок- P, то величина числаX =_{M}{P}. Эта запись является двоичным эквивалентом известной формы записи десятичных чиселX=M10+Е,например, 200=210+2, 36000000000=3610+9. структура 16-pазpядного числа в представлении с плавающей точкой ипримерыданы в таблице.
Знак порядка |
Модуль порядка |
Знак мантиссы |
Модуль мантиссы |
Результат |
15 |
14…10 |
9 |
8…0 |
|
0 |
00000 |
0 |
000000000 |
020 |
0 |
00000 |
1 |
000000001 |
-120 |
1 |
00100 |
0 |
010001100 |
-1402-4 |
0 |
11111 |
0 |
111111111 |
511231 |
Из последнего примера видно, что всего 16 бит могут представлять очень большие числа. Но, отобрав шесть разрядов под порядок, мы уменьшили точность представления числа.
Интересной особенностью формата с плавающей точкой является возможность представления одного числа различными комбинациями значений мантиссы и порядка. Так, например, нуль в этом формате может быть записан 64 способами (мантисса равна 0, порядок принимает любое значение), другие числа могут иметь до 9 представлений, например:
32=12+5=22+4=42+3=82+4=162+1=322+0
2560=52+9=102+8=202+7=402+6=802+5=…=12802+1.
Несмотря на это, представление чисел в формате с плавающей точкой оказалось достаточно удобным для обработки на ЭВМ больших и дробных чисел, хотя при этом пришлось пойти на некоторые дополнения. Так, например, чтобы увеличить точность числа, для его представления отводят два, а иногда и четыре 16-pазpядных поля. Вообще же в вычислительных машинах используются отличающиеся друг от друга форматы с плавающей точкой, но основаны они на едином принципе представления: порядок и мантисса. Для выполнения арифметических операций над числами в формате с плавающей точкой используются точные правила, зависящие от конкретной реализации ЭВМ, но содержащие общий подход. Так, сложение и вычитание чисел с плавающей точкой сводится к выравниванию позиций точки с тем, чтобы оба числа имели одинаковый порядок, а затем производится сложение или вычитание мантисс. Для умножения и деления выравнивания позиций точек не требуется; производится лишь сложение (при умножении) или вычитание (при делении) порядков и умножение или деление мантисс.
На ЭВМ, ориентированных на выполнение большого количества операции с числами в формате с плавающей точкой, имеются специальные аппаратные средства, автоматически реализующие порядок действий при арифметических вычислениях и преобразованиях таких чисел (математические сопроцессоры).
Представление числа с плавающей точкой в общем виде имеет вид:
X=spq;q1
где qмантисса числа Х,
p– порядок,
s– основание характеристики.
Обычно число sсовпадает с основанием мантиссыq. Мантиссаq– правильная дробь. Порядокp, который может быть положительным или отрицательным целым числом, определяет положение запятой в числе Х. Для двоичных чисел
х = 2pq;q1.
Рассмотрим примерв котором слова имеют длины 32 двоичных разряда. Пусть число Х =2pq, изображается в машине двоичным словом а0в0в1… в6а1а2….a24которому соответствует следующий формат данных:
a0 |
b0 |
b1 |
… |
b6 |
a1 |
a2 |
… |
|
|
|
|
a24 |
Разряды в0..в6 используются для представления порядка при этом разряд в0 изображает знак порядка, а разряды в1.. в6 – модуль порядка, остальные разряды а0 .. а24 отводятся под изображение мантиссы, причем а0 – знак мантиссы а1.. а24 – модуль мантиссы. Двоичное число х= 2pq, называется нормализованным, если мантиссаQудовлетворяет следующему условию 1q½, т.е. двоичное число нормализовано если в старшем разряде мантиссы стоит 1. Под порядок отведено со знаком 7 разрядов то порядок может быть от –63 до +63 соответственно. Наибольшее и наименьшее нормализованное положительные числа в этой разрядной сетке соответственно равны:
263*0,111 … 1 = 263(1-2-24) и
2-63*0,1000..0=2-64.
Следовательно с учетом знака qв этой разрядной сетке можно представить числа, лежащие в диапазоне от –263(1-224) до –2-64и от +2-64до +263(1-2-24), что значительно превышает диапазон чисел с фиксированной точкой, представимых в том же 32х-разрядном слове. При фиксированном количестве разрядов мантиссы любая величина, представляется в машине с наибольшей возможной точностью нормализованным числом. Если в процессе вычислений получается ненормализованное число, то машина с плавающей запятой автоматически нормализует его. Пустьrстарших разрядов мантиссы равно 0. Тогда, нормализация заключатся в сдвиге мантиссы наrразрядов влево и уменьшении порядка наrединиц. При этом в младшиеrразрядов мантиссы записывается 0. В последних моделях ЭВМ получило распространение представление чисел с плавающей запятой в системах счисления с основанием, равным целой степени числа 2 (S=2w), х =spq(1>q1/s). При этом порядок представляется двоичным целым числом, а мантиссаq– числом, в котором группы поwдвоичных разрядов изображают цифры мантиссы с основанием системы счисленияs=2w. Использование для чисел с плавающей запятой недвоичного основания несколько уменьшает точность вычислений (при заданном количестве разрядом мантиссы), но позволяет увеличить диапазон представимых в машине чисел и ускорить выполнение некоторых операций, в частности нормализации, за счет того, что сдвиг может производиться на несколько разрядов сразу. В ЕС ЭВМ числа с плавающей запятой представляются в шестнадцатеричной системе счисления: х=16pq(1>q1/16) .
a0 |
b0 |
b1 |
… |
b6 |
r1 |
r2 |
… |
|
|
|
|
r6 |
Модуль порядка pизображается целым шестиразрядным двоичным числом,. а мантиссаqрассматривается как число, составленное из шестнадцатеричных цифр в виде:
6
q=Гj 16-j(Гj = 0,1,2 …,F)
j=1
В случае с шестнадцатеричными числами с плавающей запятой число Х считается нормализованным, если старшая шестнадцатеричная цифра Г1 отлична от 0. В нормализованном числе три старшие двоичные цифры могут равняться 0. Диапазон представления нормализованных чисел: -1663(1-16-6) до –16-64и от +16-64до 1663(1-16-6). Для упрощения операций над порядками их сводят к действиям над целыми положительными числами, применяя представление чисел с плавающей запятой со смещенным порядком (ЕС ЭВМ). В случае чисел со смещенным порядком при записи числа в память к его порядкуpприбавляется целое число – смещениеN=2k, гдеk– число двоичных разрядов, используемых для модуля порядка. Смещенный порядокpсм=p+Nвсегда положителен. Для его представления нужно такое же число разрядов как дляpсо знаком.
Если семи десятичных разрядов не хватает то в вводится формат двойной длины, занимающий два машинных слова (двойная точность), не меняется количество разрядов для изображения порядка, и, следовательно, сохраняется диапазон представления чисел, а длина мантиссы увеличивается до 14 шестнадцатеричных разрядов.