Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Форма представления чисел с плавающей точкой предназначена для работы с вещественными числами, имеющими дробную часть. Так, например, число 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 можно записать в виде

,

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

Если «плавающая» точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, т.е. максимальная точность представления числа в машине. Из этого следует, что мантисса должна быть правильной дробью, первая цифра которой отлична от нуля: 0.1£| М |< 1.

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

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

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

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

753.15 = 0.75315*103; -101.01 = -0.10101*211 (порядок 11(2) = 3(10))

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

Диапазон значащих чисел в системе счисления с основанием q при наличии m разрядов у мантиссы s разрядов у порядка (без учета знаковых разрядов порядка и мантиссы) определяется неравенствами:

.

Так, при q =2, m =10, s =6 диапазон чисел простирается от 10-19 до 1019.

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

В качестве примера в табл. 6 приведены характеристики форматов вещественных чисел, используемых IBM-совместимыми ПК.

Таблица 5. Форматы представления вещественных чисел

Форматы вещественных чисел Размер в байтах Примерный диапазон абсолютных значений Количество значащих десятичных цифр
Одинарный   10–45 … 1038 7 или 8
Вещественный   10–39 … 1038 11 или 12
Двойной   10–324 … 10308 15 или 16
Расширенный   10–4932 … 104932 19 или 20

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

При хранении числа с плавающей точкой отводятся разряды для мантиссы, порядка, знака числа и знака порядка. Например, число –0.125(10) = –0.001(2) = –0.1*2–10 (отрицательный порядок записан в дополнительном коде) представляется так:

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

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

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

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

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

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

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

Пример 8. Сложить двоичные нормализованные числа 0.10111•2–1 и 0.11011*210. Разность порядков слагаемых здесь равна трем, поэтому перед сложением мантисса первого числа сдвигается на три разряда вправо:

Пример 9. Выполнить вычитание двоичных нормализованных чисел 0.10101*210 и 0.11101*21. Разность порядков уменьшаемого и вычитаемого здесь равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо:

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

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

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

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

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

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

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

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

<== предыдущая лекция | следующая лекция ==>
Форма с фиксированной точкой и арифметические операции в ней | Двоично-кодированная форма представления десятичных чисел
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 301; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.