AOP_Tom2 (1021737), страница 77

Файл №1021737 AOP_Tom2 (Полезная книжка в трёх томах) 77 страницаAOP_Tom2 (1021737) страница 772017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 77)

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

Кроме того, вычисления с удвоенной точностью разумно считать темой, имеющей самостоятельное значение, так как это первый шаг за пределы однократной точности и, работая в этом формате, можно удовлетворительно решать многие задачи, не требующие чрезвычайно высокой точности. Материал настоящего раздела был актуален, когда автор работал над лерФ* вым изданием этой книги в начале бО-х годов. Но с тех пор компьютеры были значительно усовершенствованы и причины, ло которым пспользовалпсь операции с удвоенной точностью, ушли а прошлое. Хаким образом, на сегодняшншт день данный материал представляет скорое историчессснй интерес. В планируемом четвертом издания этой книги раздел 4.2.1 будет называться "Нормалссзованные вычисления", а в настоящем разделе, 4.2.3, будут рассматриваться "необычные числа".

В новой редакции данного раздела внимание будет сосредоточено на специфлческпх аспектах стандарта АХИ/1ЕЕЕ Ясалс(агс) 754с представлении необычных числовых вешичссн наподобие бесконечности н неопределенности (так называемых Жа)Уз). (См. ссылки на литературу в колце раздела 4.2.1.) Тем не менее давайте все-таки бросим последний взгляд на ндесс, которые кажутся устаревшими, хотя бы для того, чтобы извлечь нз них урок ла будушее. Арифметические операции с удвоенной точностью требуются чаще всего при работе с числами в формате с плавающей точкой и значительно реже — при работе с числами в формате с фиксированной точкой.

Исключением является, пожалуй, лишь область статистических расчетов, в которой для вычисления сумм квадратов и перекрестных произведений обычно используются числа с фиксированной точкой и имеет смысл выполнять операции с удвоенной точностью. Поскольку вычисления с удвоенной точностью для чисел с фиксированной точкой проще, чем с плавающей, наш анализ будет ограничен этим последним случаем. Удвоеннан точность очень часто желательна для увеличения не только точности дробных частей чисел в формате с плавающей точкой, но н интервала изменения порядка. Таким образом, в этом разделе речь пойдет о следующем двухсловном представлении чисел с плавающей точкой в компьютере М1Х: Здесь используютсн 2 байта для хранения порядка и 8 байт для дробной части.

Порядок имеет избыток Ьт/2, где Ь вЂ” размер байта. Знак находится в слове, содержащелг более значимые разряды; знак другого слова принято полностью игнорировать. Наш анализ арифметики с удвоенной точностью будет в значительной степени лэашинно-ориентированным, потому что, только рассматривая задачи, которые возникают при разработке программ, можно правильно воспринять предмет. Поэтому для понимания данного раздела важно внимательно изучить приводимые ниже программы для М1Х. Здесь мы постараемся "отдалиться" от идеалистических целей достижения точности, продекларированных в двух предыдущих разделах; рассматриваемые ниже процедуры не включают округления результатов и допускают наличие некоторой ошибки.

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

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

законов, существующих в отношении вычисляемых функций, например ! (соз) х! < 1; (сов) х > (со~в у при О < х < у < к. асов)в ( — х) = (соэ) х; (о) Программы вычислений с однократной точностью — зто "хлеб насущный" на каждый день, который должен быть доступен каждому, кто хочет работать с арифметикой с плавающей точкой. А удвоенная точность обычно используется в ситуациях, когда "чистые" результаты не так уж и важны. Разница между вычислениями с семью илн восемью значащими разрядами достаточно заметна, а разница между вычислениями с 15 или 16 разрядами нас не очень беспокоит. Вычисления с удвоенной точностью чаще всего используются на промежуточных этапах решения сложной задачи с однократной точностью, а потому в полном спектре возможностей ~яких процедур нет необходимости.

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

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

Поэтому на шаге А2 алгоритма 4.2.1А нужно положить не только условие е„> е„, ио и (и( > )о(. Тогда можно быть уверенным в том, что знак результата будет знаком и. В прочих отношениях программа сложения с удвоенной точностью очень похожа на программу с однократной точностью., но все выполняется дважды. 01 АББ ЕЦО 1 ". б 02 Б1ОМ ЕЦО О:О 00 ЕХРР ЕЦЦ 1:2 04 ОГБОВ БТА ТЕМР 00 1РАМ ТЕМР Определение поли для абсолютного значения. Определение поля для знака.

Поле порядка для формата с удвоенной точностью. Вычитание с удвоенной точностью. Изменить знак о. Программа А (Слооюение с удвоенной шочностпью). Подпрограмма ОРАОБ складывает число удвоенной точности с плавающей точкой о, имеющее формат (1), с числом удвоенной точности в формате с плавающей точкой и. Причем предполагается, что о перед началом выполнения программы занесено в гАХ (регистры А и Х), а и первоначально хранится в ячейках АСС и АССХ.

Результат появляется одновременно в гАХ и в (АСС, АССХ). Подпрограмма РгБОВ вычитает о из и при соблюдении тех же соглашений. Предполагается, что оба входных операнда нормализованы и результат также нормализовав. Заключительный фрагмент программы представляет собой процедуру нормализации в формате с удвоенной точностью, используемую и в других подпрограммах этого раздела. В упр. 5 показано, как можно существенно усовершенствовать эту программу. 41 12 ЗЯ б4 Зб 10 47 Зб ЗЯ 80 81 82 88 84 бб ОМОЕМ РЕЕВО 2Н 1Н ЗАМЕ 1Р ЗХМЕ 1Р ЯТА АСС ЗМР 9Р БЬАХ 1 ОЕС2 1 СИРА =0"-(1.'1) ЗЕ 2В БВАХ 2 БТА АСС ЬОА ЕХРО 1МСА 0,2 ЗАМ ЕХРОМО БТА АСС(ЕХРО) СМРА =1(З:3)а Нормализовать влево.

Об 07 08 09 10 11 12 1Я Ц 18 1б 17 18 Ьб 20 21 22 28 24 28 20 27 28 29 80 81 82 ЯЯ ЯЗ Яб Яб 87 88 89 ЗО ОРАОО 1Н гн 1Н БТЗ ЕК1ТОР СМРА АСС(АВБ) ЗС 1Р ЗЬ 2Р СМРХ АССХ(АВБ) ЗЬЕ 2Р БТА АНС БТХ АВСХ ЬОА АСС ЬОХ АССХ ЕМТ1 АСС МОЧЕ АВС(2) БТА ТЕМР Ь01М ТЕМР(ЕХРО) Ь02 АСС(ЕХРО) 1МС1 0,2 БЬАХ 2 БНАХ 1,1 ЯТА АНС БТХ АНСХ БТА АНСХ(Б1СМ) ЬОА АСС ЬОХ АССХ ЯЬАХ 2 БТА АСС ЯЬАХ 4 ЕМТХ 1 БТХ ЕХРО БНС 1 БТА 1Р(Б1СМ) А00 АНСХ(0:4) ЯНАХ 4 ОЕСА 1 АОО АСС(0:4) АОО АНС Сложение с удвоенной точностью. Сравнить (е( с (а(. Если (е( > (а(, произвести взаимную замену и ++ е.

(АСС и АССХ находятся в последовательных ячейках.) г11 в — -е„. г12 <- е„. гП +- е„— е„. Удалить порядок. Масштабирование посредством сдвига вправо. О ев ев ев щ ев ев ег ев ев, Запомнить верный знак е в обеих половинах. (Известно, что а имеет знак результата.) гАХ +- и. Удалить порядок. ив ив ив ив ив. ЕХРО в- 1 (см. ниже). 1 ав ав иг ав. См, комментарии в тексте. Сложить 0 ев ев ег ев.

Характеристики

Тип файла
DJVU-файл
Размер
9,89 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее