- •Тема 3. Информационно-логические основы построения эвм лекция 3.2. Представление информации в эвм
- •Представление символьной информации
- •ФорМы записи чисел
- •2.1. Естественная форма
- •2.2. Нормальная форма
- •Форматы Представления чисел
- •3.1. Формат с фиксированной точкой
- •3.2. Формат с плавающей точкой
- •3.3. Двоично-десятичный код
- •Выполнение арифметических операций с числами с фиксированной и плавающей запятой
- •4.1. Действия над числами, представленными в естественной форме (с фиксированной запятой)
- •4.2. Действия над числами, представленными в нормальной форме (c плавающей запятой)
3.2. Формат с плавающей точкой
Для представления чисел в нормальной форме используются форматы разной длины. В общем случае в разрядной сетке форматов должны отводиться места для знака мантиссы (старший 31 разряд), знака порядка (предшествующий 30 разряд), значения порядка (например, 6 разрядов как в ЕС ЭВМ, с 29-го по 24-ый), в остальные 24 разряда (с 23-го по 0-ой) записывается мантисса числа. На рис. 4.4 представлена разрядная сетка в формате 4 байта.
31 30 29 24 23 1 0
Рис. 3.2. Примерный формат с плавающей точкой
В различных ЭВМ используются различные форматы с плавающей точкой.
В ЕС ЭВМ используются три формата: короткий Е (4 байта), длинный D (8 байт) и повышенной точности (16 байт). В СМ ЭВМ, а также в некоторых мини и микроЭВМ, например PDP-11, используются 2 формата: с обычной точностью (4 байта) и с двойной точностью (8 байт). Особенностями нормальной формы в ЕС и СМ ЭВМ являются следующие:
1). Смещение числовой оси порядков в область положительных значений для облегчения действий над порядками, не имеющими знака.
В ЕС ЭВМ во всех форматах 7 разрядов отводится под значение порядка и его знак. Следовательно, числовая ось порядков находится в диапазоне -26 ≤ P ≤ 26-1 или -64 ≤ P ≤ 63.
Смещенный порядок, называемый характеристикой, определяется смещением порядка на +26 = 6410 = 4016, т.е. характеристика Рх = Р + 4016 не имеет знака.
Характеристика может принимать значения в диапазоне 0 ≤ Рх ≤ 12710 = 7F16, и под ее значение отводятся 7 разрядов (27-1 = 127). Очевидно, если Рх = 4016,то Р = 0, если Рх < 4016 ,то порядок отрицательный (Р < 0), при Рх > 4016 — порядок положительный (Р > 0).
Максимальное число в формате Е: |A|max = (1 – 2-24 )×263 ≈ (210)6 ×23 ≈ (103)6×23 = 8×1018
В СМ ЭВМ в разрядной сетке под порядок отводится 8 двоичных разрядов (-27 ≤ P ≤ 27-1), под мантиссу — 23 (в формате двойной точности – 55 разрядов). Здесь также используется беззнаковый порядок, смещенный на 27=12810=2008=8016, который меняется в диапазоне 0 ≤ Pх ≤ 25510 = 3778 = FF16.
Максимальное число в СМ ЭВМ в формате обычной точности при Рmax =127 имеет значение:
|A|max = (1 – 2-23 )×2127 ≈ (210)12 ×27 ≈ (103)12×102 = 1038
Остальные форматы отличаются только разрядностью мантиссы.
2). В СМ ЭВМ есть еще одна особенность форматов с плавающей точкой. Так как старшая цифра нормализованной мантиссы должна быть 1, то это позволяет не хранить её, а только предполагать её наличие. Такое представление как бы увеличивает разрядность мантиссы (т.е. в операциях участвуют 24 (для чисел одинарной точности) и 56 разрядов (для чисел двойной точности)) а значит и точность расчетов.
Пример 3.17. Представим в разрядной сетке формата обычной точности два числа: А = 32008,510 = 7D08,81б и В = -32008,510 = -7D08,81б.
Для этого найдем нормализованные мантиссы и смещенные порядки:
Для В ЕС ЭВМ: MA = 0,7D088, РхA =40 + 4 = 44;
MB = - 0,7D088, РxB = 40 + 4 = 44 (см. рис. 4.5).
Рис. 3.3. Представление чисел в формате Е
Для СМ ЭВМ: MA = 0,FA11, РA =80 + F = 8F;
MB = - 0,FA11, РA = 80 + F = 8F.
После учета скрытого разряда мантисса будет иметь вид:
M’A = 0,F422, M’B = - 0,F422.
В IBM PC (с процессором Intel 80x86) используется 3 формата с плавающей точкой:
короткое вещественное (КВ, 4 байта, смещенный порядок занимает 8 бит, мантисса – 23 бита, single);
длинное вещественное (ДВ, 8 байтов, смещенный порядок занимает 11 бит, мантисса – 52 бита, double);
временное вещественное (ВВ, 10 байтов, смещенный порядок занимает 15 бит, мантисса – 64 бита, extended).
Особенностями нормальной формы в IBM PC являются следующие:
Мантисса всегда записывается в виде: 1,m1m2… Т.е. целая часть всегда равна 1 и в форматах КВ и ДВ прямо в мантиссе не представляется, а учитывается неявно при выполнении операций. В формате ВВ старший бит мантиссы представляется явно.
Порядок также записывается в смещенном виде, однако величина смещения в разных форматах разная:
в КВ – 27-1=12710=1778=7F16,
в ДВ – 210-1=102310=17778=3FF16,
в ВВ – 214-1=1638310=377778=3FFF16.
Отсюда величина смещенного порядка лежит в пределах:
в КВ – 0 ≤ Pх ≤ 25410 = 3768 = FE16,
в ДВ – 0 ≤ Pх ≤ 204610 = 37768 = 7FE16,
в ВВ – 0 ≤ Pх ≤ 3276610 = 777768 = 7FFE16.
Получается, что для представления вещественных чисел используется только часть значений порядка. Так например, в форматах КВ и ДВ значение порядка FF16 и 7FF16 используется для кодирования ±∞, при этом в поле мантиссы все нули (+∞, если бит знака 0, -∞, если бит знака 1) и для обозначения «не чисел» (NAN – not a number), когда в поле мантиссы не нулевое значение.
Формат КВ (как и формат обычной точности в СМ ЭВМ) позволяет представить максимальное число ≈1038, формат ДВ уже – ≈10308, а формат ВВ – ≈104932. Точность представления чисел приближенно соответствует:
в КВ – 7-8 значащих десятичных цифр,
в ДВ – 15-16 значащих десятичных цифр,
в ВВ – 19-20 значащих десятичных цифр.
Формат ВВ обеспечивает максимальный рабочий диапазон значений вещественных чисел и является основным: в нем выполняются все операции арифметическим сопроцессором.