Сделай Сам Свою Работу на 5

Представление вещественных чисел в памяти ЭВМ.





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

При их написании вместо запятой принято писать точку. Так, например, число 5 — целое, а числа 5.1 и 5.0 — вещественные.

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

1.25*100 = 0.125*101 = 0.0125*102 = ... ,

или так:

12.5*10–1 = 125.0*10–2 = 1250.0*10–3 = ... .

Любое число N в системе счисления с основанием q можно записать в виде N = M * qp, где M называется мантиссой числа, а p — порядком. Такой способ записи чисел называется представлением с плавающей точкой.

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

Мантисса должна быть правильной дробью, первая цифра которой отлична от нуля: M из [0.1, 1).



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

Мантиссу и порядок q-ичного числа принято записывать в системе с основанием q, а само основание — в десятичной системе.

Примеры нормализованного представления:

Десятичная система Двоичная система

753.15 = 0.75315*103; -101.01 = -0.10101*211 (порядок 112 = 310)

-0.000034 = -0.34*10-4; -0.000011 = 0.11*2-100 (порядок -1002 = -410)

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

В качестве примера приведем характеристики форматов вещественных чисел, используемых IBM-совместимыми персональными компьютерами:

Форматы вещественных чисел Размер в байтах Примерный диапазон абсолютных значений Количество значащих десятичных цифр

Одинарный 4 10–45 … 1038 7 или 8



Вещественный 6 10–39 … 1038 11 или 12

Двойной 8 10–324 … 10308 15 или 16

Расширенный 10 10–4932 … 104932 19 или 20

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

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

 

 

· Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа.

 

· Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в машине при заданном формате.

 

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

 

1. Число 6.2510 = 110.012 = 0,11001•211 :

 

2. Число –0.12510 = –0.0012 = –0.1*2–10 (отрицательный порядок записан в дополнительном коде):

 

Выполнение арифметических операций с нормализованными числами.

К началу выполнения арифметического действия операнды операции помещаются в соответствующие регистры АЛУ.

Сложение и вычитание

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

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



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

Результат получился не нормализованным, поэтому его мантисса сдвигается влево на два разряда с соответствующим уменьшением порядка на две единицы: 0.1101*20.

Умножение При умножении двух нормализованных чисел их порядки складываются, а мантиссы перемножаются.

Пример . Выполнить умножение двоичных нормализованных чисел:

(0.11101*2101)*(0.1001*211) = (0.11101*0.1001)* 2(101+11) = 0.100000101*21000.

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

Пример . Выполнить деление двоичных нормализованных чисел:

0.1111*2100 : 0.101*211 = (0.1111 : 0.101) * 2(100–11) = 1.1*21 = 0.11•210.

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

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.