рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Числа с плавающей запятой

Числа с плавающей запятой - Конспект Лекций, раздел Компьютеры, ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ (конспект лекций) ОДНОПРОЦЕССОРНЫЕ ЭВМ Представление Чисел В Виде Чпз Позволяет Избавиться От Операции Масштабирован...

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

Представление чисел с плавающей запятой в общем случае имеет вид:

 

X = Sp*q; |q|<1,

 

где q – мантисса (правильная дробь со знаком),

p – порядок (целое число со знаком),

S – основание,

Sp – характеристика.

В ЭВМ q и p представлены в системе счисления с основанием S в соответствующей двоичной кодировке. Знак числа совпадает со знаком мантиссы. Порядок может быть как положительным, так и отрицательным и определяет положение точки в числе X. Арифметические действия над ЧПЗ требуют помимо действий с мантиссами, определенные операции над порядками (сравнение, вычитание и др.). Для упрощения операций над p их сводят к действиям над целыми положительными числами, применяя представление ЧПЗ со смещенным порядком.

В этом случае к порядку p прибавляют целое число R=2k, где k – число двоичных разрядов, используемых для представления модуля порядка. Смещенный порядок PСМ=P+R всегда больше нуля или равен ему. Для его представления требуется такое же количество двоичных разрядов, как и для представления знака и модуля p.

При фиксированном числе разрядов мантиссы любая величина представляется в ЭВМ нормализованным числом с наибольшей возможной точностью. Число называется нормализованным, если мантисса q удовлетворяет условию 1>|q|³1/S, т.е. старший разряд мантиссы в S-ричной системе счисления отличен от нуля, иначе число не нормализовано. Так, например, в десятичной системе счисления число 0.00726*10-3 не нормализовано, а число 0.726*10-5 – нормализовано.

В процессе вычислений числа могут оказаться ненормализованными. Обычно ЭВМ автоматически нормализует такие числа, выполняя ряд действий. На рис. 2.9 представлен обобщенный формат представления ЧПЗ в микро- и миниЭВМ.

 

 

 

Пусть r старших разрядов S-ричной мантиссы равны нулю. Тогда нормализация состоит:

- из сдвиг мантиссы на r разрядов влево;

- уменьшения PСМ на r единиц;

- запись нуля в r младших разрядах мантиссы.

При этом число не изменяется, а условия нормализации выполняются.

 

Пример.

Нормализовать двоичное число.

Ненормализованное двоичное число:

 

 

Нормализованное двоичное число:

 

 

Пример.

Нормализовать двоичное число.

Ненормализованное двоичное число:

 

 

Нормализованное двоичное число:

 

 

Следует иметь в виду, что нормализация может происходить в другую сторону, если в результате выполнения операции слева от точки появилась единица. В этом случае необходимо выполнить следующие операции:

- сдвиг мантиссы на один разряд вправо;

- увеличение PСМ на единицу.

В различных ЭВМ числа с плавающей запятой используются в системах счисления с различными основаниями S, но равными целым степеням числа 2, т.е. S=2W. При этом порядок представляют целым числом, а мантиссу q – числом, в котором группы по W двоичных разрядов изображают цифры мантиссы с основанием системы счисления S=2W. В современных ЭВМ используются, как правило, S = 2, 16.

Использование S>2 позволяет:

- расширить диапазон представления чисел;

- ускорить выполнение операций нормализации, поскольку сдвиг может сразу происходить на несколько разрядов (при S=16 – сдвиг на 4 разряда).

 

Пример.

В результате операции получили (S=16):

 

 

Произведем нормализацию. Для этого q нужно сдвинуть влево на один шестнадцатеричный разряд, т.е. на 4 двоичные единицы, а из P вычесть 1. В результате получим

Итак, диапазон представляемых в ЭВМ чисел с плавающей запятой зависит от основания системы счисления S и числа разрядов, выделенных для P. Точность вычисления для ЧПЗ определяется числом разрядов q. С увеличением числа разрядов q увеличивается точность, но одновременно увеличивается и время выполнения арифметических операций. Ввиду этого использование S, отличного от 2, несколько уменьшает точность вычислений при фиксированном числе двоичных разрядов q. Традиционно шестнадцатеричная арифметика используется в мэйнфреймах.

Задачи, решаемые на ЭВМ, предъявляют различные требования к точности вычисления, поэтому большинство машин общего назначения имеют несколько форматов ЧПЗ с различным числом разрядов q. Рассмотрим только короткие форматы ЧПЗ в ЭВМ с 32-разрядным словом, использующих шестнадцатеричную (S=16) и двоичную (S=2) системы счисления.

Формат ЧПЗ при S=16 представлен на рис. 2.10.

 

 

Всего под q отведено 24 двоичных разряда. Общая длина слова N – 32 двоичных разряда. Еще есть длинный формат (64 бита) и расширенный (128 бит). Во всех форматах под PСМ отведено по 7 двоичных разрядов (с первого по седьмой). Если бы порядок был несмещенный, то один двоичный разряд отводился бы под знак порядка и k разрядов – под модуль (k = 6). При этом диапазон изменения модуля несмещенного порядка P составил бы 0 ¸ 2k-1 или 0 ¸ 63, а полный диапазон изменения порядка Р = (-64) ¸ (+63). Выражение для смещенного порядка соответственно имеет вид .

 

Таким образом, при S=16 диапазон изменения PСМ = 0 ¸ 127.

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

Формат ЧПЗ при S=2 представлен на рис. 2.11.

 

 

Общая длина слова N – 32 двоичных разряда. Обычно еще есть длинный формат, имеющий N = 64 бита. В обоих форматах под смещенный порядок отведено 8 двоичных разрядов. Таким образом, диапазоны изменения смещенного и несмещенного порядков составляют соответственно

PСМ = 0...255 и P = -128...+127 .

 

Поскольку числа в памяти хранятся в нормализованной форме, старший разряд q всегда равен единице, поэтому он не запоминается, а подразумевается., В таких ЭВМ точность представления числа фактически определяется мантиссой q в 24 двоичных разряда (короткий формат) и 56 двоичных разрядов (длинный формат).

Рассмотрим только короткие форматы.

Диапазон представления ЧПЗ определяется значением S и числом разрядов, отведенных под P.

Двоичное основание (S=2): (k=7) Xmax=2127® 1038 .

Шестнадцатеричное основание (S=16): (k=6) Xmax=1663® 1076 .

Точность представления ЧПЗ определяется значением S и числом разрядов мантиссы в соответствующей системе счисления. И при S=16, и при S=2 под q отведено фактически 24 двоичных разряда:

· при S=2: 24 двоичных разряда обеспечивают точность, соответствующую семи десятичным разрядам;

· при S=16: точность при использовании короткого слова (N = 32) ниже за счет другого способа нормализации, т.е. в q могут быть три нуля слева, поскольку шестнадцатеричное число при этом еще не равно нулю. В двоичных числах слева всегда единица, то есть разрядная сетка используется полнее. Пояснить это можно на примере 8-разрядной сетки:

 

 

При S=16 нормализация не произойдет, так как d1 не равно нулю. Это приведет к потере четырех младших разрядов результата. При S=2 нормализация произойдет и будет потерян только один младший разряд результата. В связи с этим в ЭВМ с S=16 обычно предусматриваются еще длинный и расширенный форматы.

Еще до недавнего времени каждый производитель процессоров пользовался собственным представлением вещественных чисел (чисел с плавающей точкой). За последние несколько лет ситуация изменилась. Большинство поставщиков процессоров в настоящее время для представления вещественных чисел придерживаются стандарта ANSI/IEEE 754-1985 Standard for Binary Floating-Point Arithmetic.

Стандарт описывает два основных формата ЧПЗ: одиночный (single – 32 бита) и двойной (double – 64 бита). В IEEE 754 не указан точный размер расширенного формата, но описаны минимальная точность и размер (79 бит).

Формат числа – структура, определяющая поля, составляющие число с плавающей запятой, их размер, расположение и интерпретацию.

Одиночный формат

Одиночный формат состоит из трех полей: 23-разрядной мантиссы f, 8-раз­рядного смещенного порядка e, знакового бита s (см. рис. 2.12).

 

В табл. 2.3 показано соответствие между значениями трех полей и значением числа с плавающей запятой.

Таблица 2.3

Комбинация значений полей Значение
0 < e < 255 (-1)s × 2e-127 × 1.f (нормализованные числа)
e= 0; f ¹ 0 (по крайней мере, один бит не нулевой) (-1)s × 2-126 × 0.f (ненормализованные числа)
e= 0; f = 0 (все биты нулевые) (-1)s × 0.0 (ноль со знаком)
e= 255; f = 0 (все биты нулевые) INF (бесконечность со знаком)
e= 255; f ¹0 (по крайней мере, один бит не нулевой) NaN (Not-a-Number)

 

Значение неявного бита (старшего разряда мантиссы) прямо не задается, но подразумевается значением порядка. 23-разрядная мантисса вместе с неявным битом обеспечивает точность в 24 разряда.

Двойной формат

Двойной формат состоит из трех полей: 53-разрядной мантиссы f, 11-разрядного смещенного порядка e, знакового бита s. Эти поля хранятся в двух 32-разрядных словах, как показано на рис. 2.13. В x86–архитектуре слово с меньшим адресом содержит младшие разряды мантиссы, в то время как, например, в SPARC– архитектуре младшие разряды мантиссы содержит слово с большим адресом.

 

В табл. 2.4 показано соответствие между значением трех полей и значением ЧПЗ двойной точности.

 

Таблица 2.4

Комбинация значений полей Значение
0 < e < 2047 (-1)s × 2e-1023 × 1.f (нормализованное число)
e = 0; f ¹ 0 (-1)s × 2-1022 × 0.f (ненормализованное число)
e = 0; f = 0 (-1)s × 0.0 (ноль со знаком)
s = 0; e = 2047; f = 0 +INF (положительная бесконечность)
s = 1; e = 2047; f = 0 -INF (отрицательная бесконечность)
e = 2047; f ¹ 0 NaN (Not-a-Number)

 

Значение неявного бита (старшего разряда мантиссы) прямо не задается, но подразумевается значением порядка. 53-разрядная мантисса вместе с неявным битом обеспечивает точность в 54 разряда.

Расширенный формат (SPARC– архитектура)

Расширенный формат состоит из трех полей: 112-разрядной мантиссы f,
15-разрядного смещенного порядка e, знакового бита s. Эти поля хранятся в четырех 32-разрядных словах, как показано на рис. 2.14. В SPARC–архитектуре младшие разряды мантиссы содержит слово с большим адресом.

 

 

В табл. 2.5 показано соответствие между значением трех полей и значением ЧПЗ расширенного формата для SPARC–архитектуры.

 

Таблица 2.5

Комбинация значений полей Значение
0 < e < 32767 (-1)s × 2e-16383 × 1.f (нормализованное число)
e = 0; f ¹ 0 (-1)s × 2-16382 × 0.f (ненормализованное число)
e = 0; f = 0 (-1)s × 0.0 (ноль со знаком)
s = 0; e = 32767; f = 0 +INF (положительная бесконечность)
s = 1; e = 32767; f = 0 -INF (отрицательная бесконечность)
e = 32767; f ¹ 0 NaN (Not-a-Number)

 

Расширенный формат (х86– архитектура)

Расширенный формат состоит из 4-ч полей: 63-разрядной мантиссы f, явного старшего значащего бита j, 15-разрядного смещенного порядка e, знакового бита s.

В х86–архитектуре эти поля сохранены в восьми последовательно адресованных 8-разрядных байтах. Однако UNIX System V Application Binary Interface Intel 386 Processor Supplement (Intel ABI) требует, чтобы числа расширенного формата занимали три последовательно адресованных 32-разрядных слова в стеке, оставляя 16 старших бит неиспользованными, как показано на рис. 2.15.

 

 

 

В табл. 2.6 показано соответствие между значениями трех полей и значением ЧПЗ расширенного формата для х86–архитектуры.

 

Таблица 2.6

Комбинация значений полей Значение
j = 0; 0 < e < 32767 Не поддерживается
j = 1; 0 < e < 32767 (-1)s × 2e-16383 × 1.f (нормализованное число)
j = 0; e = 0; f ¹ 0 (-1)s × 2-16382 × 0.f (ненормализованное число)
j = 1; e = 0 (-1)s × 2-16382 × 0.f (псевдоненормализованное число)
j = 0; e = 0; f = 0 (-1)s × 0.0 (ноль со знаком)
j = 1; s = 0; e = 32767; f = 0 +INF (положительная бесконечность)
j = 1; s = 1; e = 32767; f = 0 -INF (отрицательная бесконечность)
j = 1; e = 32767; f ¹ 0 quiet или signaling NaN

 

Мэйнфреймы

В мэйнфреймах фирмы IBM используемое еще со времен S/360 шестнадцатеричное представление чисел с плавающей запятой – с шестнадцатеричной мантиссой и характеристикой (HFР) – в ESA/390 (мэйнфреймы серии S/390) дополнено двоичным представлением BFP, удовлетворяющим стандарту IEEE 754. Это представление определяет 3 формата данных – короткий, длинный и расширенный– и 87 новых команд для работы с ними.

BFP появилось в ESA/390 относительно недавно, в 1998 году. Одновременно было введено 12 дополнительных регистров FR (общее число FR достигло 16). Кроме того, в архитектуре появился управляющий регистр с плавающей запятой и средства сохранения содержания регистров при операции записи состояния. Добавлено еще 8 новых команд, не связанных однозначно с тем или иным представлением данных с плавающей запятой, в том числе 4 – для преобразования между форматами HFP и BFP.

Для работы с HFP-данными появилось 26 новых команд, являющихся аналогами соответствующих BFP-команд. Эти новые команды включают, в частности, преобразования между форматами чисел с фиксированной и с плавающей запятой и новые операции с расширенной точностью.

В суперкомпьютерах NEC SX-4 (представленных в 1995 году) целые числа могут быть как 32-, так и 64-разрядными. Для чисел с плавающей запятой применяется стандарт IEEE 754 (как для 32-, так и для 64-разрядных чисел). Кроме того, SX-4 может работать со 128-разрядными числами с плавающей запятой расширенной точности и с форматами чисел с плавающей запятой, используемыми в PVP-системах Cray и мэйнфреймах IBM. При этом производительность SX-4 не зависит от формата представления, а сам этот формат выбирается при компиляции.

– Конец работы –

Эта тема принадлежит разделу:

ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ (конспект лекций) ОДНОПРОЦЕССОРНЫЕ ЭВМ

ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ... конспект лекций... ОДНОПРОЦЕССОРНЫЕ ЭВМ...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Числа с плавающей запятой

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ЧАСТЬ 1
      Конспект лекций посвящен изучению основ организации и функционирования ЭВМ в целом и ее отдельных узлов, взаимодействия ЭВМ и периферийных устро

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

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

Поколения ЭВМ
Выше рассматривались три понятия: аппаратные средства, программное обеспечение и архитектура ЭВМ. Рассмотрим коротко этапы развития ЭВМ за последние 50 лет с точки зрения этих понятий, составляющих

Большие ЭВМ общего назначения
На первых этапах внедрения ЭВМ в деятельность человека решаемые задачи, в основном, можно было разделить на два больших класса: - научные и технические расчеты – для них типичным яв

Малые ЭВМ
Наиболее массовое внедрение ЭВМ в деятельность человека началось тогда, когда в конце 60-х годов удалось построить небольшие, достаточно простые, надежные и дешевые вычислительные устройства, элеме

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

Двоичная система счисления
В двоичной системе счисления основание S = 2, т.е. используются всего два символа: 0 и 1. Двоичная система счисления проще десятичной. Однако двоичное изображение числа требует большего (для многор

Преобразование десятичных чисел в двоичные
При работе с ЭВМ, особенно с микропроцессорами, очень часто приходится выполнять преобразование десятичных чисел в двоичные. Для преобразования целого десятичного числа в двоичное необходи

Двоично-десятичная система счисления
Эта система имеет основание S = 10, но каждая цифра изображается четырехразрядным двоичным числом, называемым тетрадой. Обычно данная система счисления используется в ЭВМ при вводе и выводе информа

Восьмеричная система счисления
В восьмеричной системе счисления употребляются всего восемь цифр, т.е. эта система счисления имеет основание S = 8. В общем виде восьмеричное число выглядит следующим образом:  

Шестнадцатеричная система счисления
Эта система счисления имеет основание S = 16. В общем виде шестнадцатеричное число выглядит следующим образом:   ,

Умножение
Как и в десятичной системе счисления, операция перемножения двоичных многоразрядных чисел производится путем образования частичных произведений и последующего их суммирования. Частичные произведени

Деление
Деление – операция, обратная умножению, поэтому при делении двоичных чисел, так же как и в десятичной системе счисления, операция вычитания повторяется до тех пор, пока уменьшаемое не станет меньше

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

Прямой код
Это обычный двоичный код, рассмотренный в разделе двоичной системы счисления. Если двоичное число является положительным, то бит знака равен 0, если двоичное число отрицательное, то бит знака равен

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

Дополнительный код
Дополнительный код (ДК) строится следующим образом. Сначала формируется обратный код (ОК), а затем к младшему разряду (МЗР) добавляют 1. При выполнении арифметических операций положительные числа п

Сложение и вычитание в дополнительном коде
При выполнении арифметических операций в современных ЭВМ используется представление положительных чисел в прямом коде (ПК), а отрицательных – в обратном (ОК) или в дополнительном (ДК) кодах. Это мо

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

Правило перевода из дополнительного кода в десятичную систему
Перевод чисел из дополнительного кода в десятичную систему можно проводить по схеме, приведенной на рис. 2.5. Однако существует прямой способ перевода числа из ДК в десятичную систему без

Арифметика повышенной точности
Проблема точности возникает, как правило, при работе с микро- и миниЭВМ, имеющих небольшую длину машинного слова (1-2 байта). Рассмотрим микропроцессор, работающий со словами длины 1 байт. Этот фор

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

Сложение (вычитание) ЧПЗ
Требуется вычислить Z=X±Y при условии, что |X|³|Y|. Формальное выражение для выполнения этой операции можно записать следующим образом:  

Умножение ЧПЗ
Требуется вычислить . Формальное выражение для выполнения этой операции можно записать следующим образом:   Z=X*

Методы ускорения умножения
Рассмотренный в предыдущей теме материал показывает, что умножение – это достаточно длинная операция, состоящая из N суммирований и сдвигов, а также выделений очередных цифр множителя. Из

Десятичная арифметика
Необходимый перевод для ЭВМ десятичных чисел в двоичные и обратно требует затраты времени и ресурсов. В цифровых устройствах, где основная часть операций связана не с обработкой и хранением информа

Сложение двоично-десятичных чисел
В операции сложения двоично-десятичных чисел участвуют только модули чисел. Поскольку код одноразрядных двоично-десятичных чисел полностью совпадает с их двоичным кодом, никаких проблем при выполне

Вычитание модулей двоично-десятичных чисел
По аналогии с операциями вычитания в двоичном коде операцию X-Y можно представить как X + (-Y). При этом отрицательное число представляется в дополнительном коде, аналогичном дополнительному коду в

Умножение модулей двоично-десятичных чисел
Операция умножения сводится к образованию и многократному сложению частичных двоично-десятичных произведений.   Алгоритм выполнения операции состоит в следующем: 1.

Нарушение ограничений ЭВМ
При выполнении арифметических операций возможны ситуации, когда нарушаются ограничения, связанные с конечной длиной разрядной сетки ЭВМ. При этом в ЭВМ формируются признаки соответственно:

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

Библиографический сисок
1. Искусство программирования. Т.1. Основные алгоритмы. 3-е изд., испр. и доп. / Д. Кнут; Под ред. Ю.В. Козаченко М.; СПб.; Киев: ВИЛЬЯМС, 2000. 729 с. 2. Искусство программирования. Т.2:

Форма 2. Выполнение арифметических операций над числами
1. Все действия, производимые над операндами и результатами, включая пере­вод чисел из одной системы счисления в другую, должны быть подробно расписаны в соответствии с алгоритмами, рассмотренными

Принципы построения элементарного процессора
Ранее, при рассмотрении обобщенной структуры ЭВМ, отмечалось, что основным устройством, непосредственно осуществляющим переработку поступающей в ЭВМ информации, является процессор (в больших ЭВМ –

Операционные устройства (АЛУ)
В разделе "Представление информации в ЭВМ" было показано, что различные арифметические операции над числами (представленными, кроме, того в различной кодировке) требуют существенно различ

Управляющие устройства
Выше отмечалось, что УУ (рис. 3.5) управляет работой АЛУ путем выработки последовательности микрокоманд, необходимых для выполнения той или иной операции (+, -, /, * и т.д.). Порядок выполнения мик

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

УУ с хранимой в памяти логикой
Идея создания микропрограммного УУ возникла давно, в 1951г., но реализовать ее в полном объеме удалось сравнительно недавно – с появлением компактных устройств памяти на БИС. Обобщенная стру

Выборка и выполнение МК
Возможны три варианта взаимного расположения циклов выборка-реализация. Последовательный способ (рис. 3.9, а). В этом случае выборка следующей МКi+1 не инициируе

Кодирование МК
Выбор способа кодирования микрокоманд представляет собой достаточно сложную задачу и зависит от структуры процессора и его целевого назначения, системы команд, быстродействия и т.д. Рассмотрим толь

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги