Представление чисел в форме с плавающей точкой




Для представления чисел, которые по величине находятся за пределами диапазона представления чисел с фиксированной запятой, в ЭВМ применяется нормальная форма или форма с плавающей точкой. Любое число в этой форме описывается выражением (7):

, (7)

 

где: т а – мантисса числа;

S – основание системы счисления;

Ра – порядок, т.е. степень, в которую возводится основание системы счисления.

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

(8)

 

Порядок Ра определяет положение точки в двоичном числе. Значение порядка находится в диапазоне:

(9)

 

Величина определяется числом разрядов k, которые описывают порядок:

(10)

 

Представление в ЭВМ чисел в нормальной форме осуществляется коротким форматом (2 или 4 байта), длинным форматом (4 или 8 байт) и форматом повышенной точности (8 или 16 байтов). Во всех форматах постоянными остаются разряды, отведенные под знак мантиссы, знак порядка и порядок. Изменяется только область, отводимая для изображения мантиссы.

Почему числа, представляемые в нормальной форме, называют числами в форме с плавающей точкой (запятой)?

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

Понятие плавающая точка (запятая) рассмотрим на примере десятичных чисел.

Пример.

Пусть задано число . В нормальной форме в соответствии с формулой (3) его можно представить следующим образом:

Здесь: числа 25; 2,5; 0,25; 0,025; 0,0025 – мантисса т а;

10 – основание системы счисления S;

0, 1, 2, 3, 4 – значение порядка Р.

В рассмотренном примере значение величины числа остается постоянным, изменяется только место расположения запятой (точки) и, соответственно, порядка. Создается впечатление, будто запятая (точка) плавает, перемещается на новое место при изменении значения порядка. Из примера видна неоднозначность представления чисел в форме с плавающей точкой, поэтому в ЭВМ используется ограничение вида:

 

, (11)

 

где S – основание системы счисления.

Так как в ЭВМ используется двоичная система счисления, то выражение (11) можно записать следующим образом:

 

(12)

т.е.

. (13)

 

Это означает, что значение мантиссы числа, представленной в нормальной форме, должно находиться в пределах от 1 до 0,5 (включая и значение 0,5), т.е. мантисса равна (или больше) 0,5 и меньше 1.

Запись чисел, удовлетворяющих требованиям выражения (11), являет собой нормализованную форму представления чисел.

Примеры записи чисел в форме с плавающей запятой (точкой):

Представим их в нормальной форме, чтобы выполнялось условие (11):

В первом примере значение мантиссы уменьшилось при одновременном увеличении значения порядка, во втором примере значение мантиссы увеличивалось, а значение порядка уменьшалось.

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

В общем случае под нормализованным числом понимается число, в котором целая часть имеет значение нуля, а после запятой (точки) первой является значащая цифра. В десятичной системе счисления это цифры 1, 2, 3, 4, 5, 6, 7, 8, 9, а в двоичной системе это цифра 1. В рассмотренном ранее примере число в нормализованной форме имеет вид:

.

Числа в форме с плавающей запятой описываются тремя форматами: коротким, длинным и расширенным (рисунок 16).

 

 

Рисунок 16 - Форматы действительных чисел математического сопроцессора

 

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

Порядок является целым числом. Положительные и отрицательные значения порядков усложняют обработку вещественных чисел. В современных ЭВМ для упрощения операций над порядками, последние приводят к целым положительным числам, применяя смещенный порядок q (характеристика числа). Для этого к истинному значению порядка перед записью его в память прибавляется целое положительное число - смещение. Величина q определяется следующим равенством:

 

q = р + смещение (14)

 

Для каждого из трех возможных форматов вещественных чисел смещение имеет разное, но фиксированное для конкретного формата значение, которое зависит от количества разрядов, отводимых под характеристику. Например, в коротком формате для записи характеристики отводится 8 бит, поэтому смещение равно 127, в длинном смещение равно 1023, а в расширенном - 16383.

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

1) перевести модуль данного числа в двоичную систему счисления;

2) нормализовать двоичное число, т.е. записать в виде т *2Р, где т - мантисса (ее целая часть равна 1(2)) up - порядок, записанный в десятичной системе счисления;

3) прибавить к порядку смещение и перевести смещенный порядок в двоичную систему счисления;

4)учитывая знак заданного числа (0 - положительное; 1 - отрицательное), выписать его представление в памяти ЭВМ.

 

Пример. Записать вещественное число 45,56(10) с точностью до пяти знаков после запятой в коротком формате.

Решение:

1) Переведем десятичную дробь в двоичное представление. Алгоритм перевода описан выше.

45,56(10)=101101,10001(2)

2) Нормализуем число. Для этого переносим запятую влево до тех пор, пока в целой части числа не останется одна двоичная единица. Число переносов влево (или вправо, если десятичное число было меньше 1) будет являться порядком числа.

Имеем 101101,10001 = 1,0110110001*25.

3) р = 5. Получаем смещенный порядок 5 + 127 = 132. Далее имеем

132(10) = 10000100(2).

4) Окончательно:

 

 

(т.к. число записано в коротком формате единица в целой части числа не учитывается).

Более компактно полученный код можно записать следующим образом: 42362000(16).

 

Методические указания к ответам на вопросы

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

Первый вопрос относится к теме 2.3 Внутренняя организация процессора.

Второй вопрос - по теме 2.4 Организация работы памяти компьютера.

Третий вопрос - по теме 2.5 Система ввода – вывода. Интерфейсы.

Четвертый вопрос по темам 3.1 Организация вычислений в вычислительных системах и 3.2 Классификация вычислительных систем.


ЛИТЕРАТУРА

1. Бройдо В.Л. Вычислительные системы, сети и телекоммуникации - СПб: Питер, 2002.

2. Воеводин В.В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002.

3. Гук М. Процессоры Pentium III, Athlon и другие. - СПб.: Питер, 2000.

4. Гук М. Шины PCI, USB и FireWire: Энциклопедия. - СПб: Питер. 2005.

5. Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем - М.: ФОРУМ – ИНФРА - М, 2005.

6. Пятибратов А.П., Гудыно П.П. Вычислительные системы, сети и телекоммуникации. - М.: Финансы и статистика, 2003.

7. Таненбаум Э. Архитектура компьютера. -4 изд-е. - СПб.: Питер, 2002.


Содержание

 

Пояснительная записка 3

1 Учебно-методическая карта 4

2 Содержание дисциплины 6

3 Методические указания по выполнению домашней

контрольной работы 39

Литература 61



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-07-22 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: