Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 1)

Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 1) (1119452), страница 71

Файл №1119452 Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 1) (Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 1)) 71 страницаД. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 1) (1119452) страница 712019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

С. СашрЬе!1, хР!оас!пй ро!пс орегас!опя в Р!аппт8 а Ссипрн!ег Яузгшп, ег)!гег) Ьу %. ВисЬЬо!х (Хен ЪЪг)с МсОгатг-Н!!1, 1962), 92-121, А. Рас(ейэ, 1ВМ Яуэсетэ Х 7 (1968), 22-29. Дополнительный список источников, в основном, имеющих отношение к анализу точности вычислений в формате с плавающей точкой, представлен в разделе 4.2.2. Поистине революционные изменения в аппаратной реализации арифметики с плавающей точкой произошли, когда большинство изготовителей компьютеров приняли к исполнению стандарт АХЯ1/1ЕЕЕ Ясапдагг[ 754 в конце 80-х годов. (См. 1ЕЕЕ М!сто 4 (1984), 86 — 100; %, Л.

Спбу, Сотр. Яс1 и Ягаг!эг!сэ: Яутр. ол йЬе 1лгегуасе 15 (1983), 133-139; %. М. КаЬап, АВ!и!/М!сто Игезг-83 СовЕ Весогг! (1983), Рарег 16/1; П. Со!г[Ьегй, Согпрпгтб Яиггеуэ 23 (1991), 5 — 48, 4И; %. Л. Сос)у апг! Л. Т. Соопеп, АСМ Тгалэ. Магй. Яойтгаге 19 (1993), 443-451.) Компьютер Ю?1Х, который эааенпт ?411 в следующем издании данной кнпггг, Ф будет полностью соогвет«твовагь этому стандарту. УПРАЖНЕНИЯ 1. [!0] Как будут выглядеть число Авогадро и постоянная Планка (3), если их представить в виде четырехразрядных чисел с плавающей точкой по основанию 100 с избытком 50? (Именно таким было бы представление в машине И13, как в (4), если бы размер байта равнялся 100,) 2. [?8] Предположим, порядок е находится в интервале 0 < е < Е.

Каковы наибольшее и наименьшее положительные значения, которые могут быть записаны как р-разрялные числа с плавающей точкой по основанию Ь с избытком д? Каковы наибольшее и наименьшее положительные значения, которые могут быть представлены в виде таких нормализованных чисел? 3. [?!] (К. Пузе (К. Епзе), 1930.) Покажите, что, работая с нормализованными двоичными числами с плавающей точкой, можно немного увеличить точность без увеличения объема используемой памяти: р-разрядную дробную часть можно представлять при помощи всего лишь р — ! разрядов машинного слова, если чуть.

чуть уменьшить интервал значений порядка, 4. [?б] Пусть Ь = 1О, р = 8. Какой результат даст алгоритм А для операции (50, + 98765432) 9 (49, +.ЗЗЗЗЗЗЗЗ), для операции (53, †.99987854) В (54, +.10000000) и для операции (45, †.50000001) !О (54, +.10000000)? 5. [84] будем говорить, что х р (по отношению к данному основанию Ь), если х и р— действительные числа, удовлетворяющие следующим условиям: [х/Ь] = [р/Ь]; хшобЬ=О с=в ушог!ЬмО; О<хшобЬ< -'Ь ся, 0 < ршобЬ< эЬ; хпюбЬ= 1Ь с=в ршог!Ь= эЬ; -Ь < х шобЬ < Ь е=~ -Ь < р пюб Ь < Ь. Докажите, что между шагами АЬ и Аб алгоритма А можно, не изменяя результата, заменить ~, на Ь " ~г„где Р„Ь"'~э~„. (Если Є— целое и Ь четно, эта операция, по сути, позволяет "урезатьэ у„до р + 2 разрядов, запоминая, был ли отброшен любой разряд, отличный от нуля.

В результате может быть минимизирована длина регистра, необходимого для сложении иа шаге Аб.) 6. [20] Если результат выполнения команды Г100 равен нулю, каким будет знак реги- стра гА (если следовать описанию операций арифметического расширителя компьютера Н11, представленному в этом разделе)? 7. [27) Проанализируйте арифметические операции с плавающей точкой с использова. нием уравновешенной териарной нотации. 6. [20] Приведите примеры нормализованных восьмиразрядных десятичных чисел с пла- вающей точкой и и о, для которых сложение влечет за собой (а) исчезновение порядка, (Ь) переполнение порядка, если подразумевать, что для порядков справедливо соотношение 0 < е < 100. й.

[М24] (У, М, Кахвн (%. М, Кайап).) Предположим, что исчезновение порядка приво- дит к присвоению результату значения "нуль" без какой-либо индикации ошибки. Исполь- зуя восьмиразрядные десвтичные числа с плавающей точкой с избытком нуль и порндком е в интервале -50 < е < 50, найдите такие положительные значения а, Ь, с, д и у, для которых выполняются соотношения (11). 10. [12] Приведите пример нормализованных восьмиразрядных десятичных чисел с пла- вающей точкой в и е, в процессе сложения которых происходит переполнение прн округ- лении, ь 11. [М20] Приведите пример нормализованных восьмиразрядных десятичных чисел с плавающей точкой и и е, в процессе умножения которых происходит переполнение при округлении.

12. [М25] Докажите, что переполнение при округлении не может происходить в ходе выполнение фазы нормализации при делении чисел с плавающей точкой. 13. [80] Имея дело с "арифметикой интервалов", нежелательно округлять результаты вычислений в формате с плавающей точкой. Скорее, было бы желательно реализовать операции, подобные ~7 и Й, которые дают наиболее близкое представление границ сумм: Как модифицировать алгоритмы, описанные в данном разделе, чтобы они подходили для этой цели? 14.

[25] Напишите подпрограмму для Н11, которая работала бы с произвольным исходным числом в регистре А, необязательно нормализованным, и преобразовывала бы его в ближайшее целое в формате с фиксированной точкой (яли обнаруживала, что число слишком велико по абсолютной величине, чтобы было возможно такое преобразование). ° 15. [28] Разработайте подпрограмму для Н11, которая по заданному числу в формате с плавающей точкой и вычисляет и Я?) 1, а именно о — [в], округленное до ближайшего числа в формате с плавающей точкой, Подпрограмма должна быть увязана с остальными подпрограммами этого раздела.

Обратите внимание на то, что когда и — очень малое отрицательное число, и Я2) 1 должно быть округлено таким образом, чтобы результат был равен единице (хотя и шоб 1 по определению всегда должно давать результат, меньший единипы как действительного числа). 16. [НМ21] (Роберт Л. Смит (КоЬегг Ь. Бгайй).) Разработайте алгоритм для вычисления действительной и мнимой частей комплексного числа (а + М)у(с + Ж) по заданным действительным числам в формате с нэавающей точкой а, Ь, с и 4. Постарайтесь избежать вычисления с + о~, поскольку зто может привести к переполнению порядка даже тогда, когда: (с( или Щ приблизительно равно квадратному корню максимально возможного числа в формате с плавающей точкой. 17. (401 (Джон Кок (5оЬп Сос2е).) Реализуйте идею расширении диапазона представления чисел в формате с плавающей точкой, опрещшив сдкословное представление, в котором точность дробной части уменьшается по мере того, как увеличивается значение абсолютной величины порядка.

18. (25) Представим себе двоичный компьютер с 36-битовым форматом слова, в котором положительные двоичные числа в формате с плавающей точкой представлены в виде (Ое~ею .. еэлЬ...узт)м здесь (е ~ем .. ез)з есть избыток (10000000)а порядка и (луь .Ую)з есть 27-битовая дробная часть. Отрицательные числа в формате с плавающей точкой представлены двумя дополнениями соответствующих положителькых представлений (см. раздел 4.1). Таким образом, 1.5 имеет вид 201 )600000000 в восьмеричных обозначениях, а -1.5 имеет вид 576)200000000, восьмеричные представления 1Д и — 1.0 есть 201~400Р00000 и 576) 400000000 соответственно.

(Вертикальные черточки использованы здесь для отображения границы в машинном слове между поридком и дробной частью.) Учтите, что бит л для нормализованного положительного числа всегда равен 1, в та время как для отрицательного он почти всегда равен нулю; исключениями ивляются представления чисел -2». Предположим, что точный результат операции в формате с плавающей точкой имеет в восьмеричном представлении вид 572(740000000(01; зта отрицательная 33-битовая дробная часть должна быль нормализована и округлена до 27 бит, Если сдвигать ее влево до тех пор, пока первый бит дробной части не станет равным пулю, получится 576) 000000000(20.

Но зто приведет к округленюо до неправильного значения 576(000000000; в данном случае возникла "перенормализация", поскольку правильный результат — 575(400000000. С другой стороны, шли начать (в какой-иибудь другой задаче) со значения 572(740000000)05 и остановиться до возникновения перенормализации, получится 575(400000000(50. Этот результат округляется до ненормализованного числа 575~400000001; послелующая нормализация приведет к результату 576~000000002, в то время как верный результат— 576(ВОООРРОВЛ Придумайте простое, но правильное правило округления, которое разрешит зту дилемму для такой машины (но принятый формат с двумя дополнительными представлениями должен остаться в неприкосновенности). 19.

(24) Каково время выполнения подпрограммы Райй в программе А в терминах, отображающих характеристики исходных данных? Каково максимальное время выполнения для любых исходных дшшых, которые не приводит к переполнению или потере значямости порядка7 Округленные числа всегда лгут. — сзмюэлыРкОнсОн (ьАм0е$.

эОнмбОН) (1750) Я буду говорить в округленных числах, ие абсолютно точно, ио ие настолько далеко от истины, чтобы изменить реальный результат. — ТОМАС ДМСЕПИРЕРСОН (ТНОМА5 ЗЕЕРЕйБОМ) (1824) 4.2.2. Точность арифметических операций с плавающей точкой Вычисления над числами в формате с плавающей точкой неточны по самой своей природе, и программисту нетрудно столь неудачно организовать их выполнение, что полученные результаты будут почти полностью истаять из "шума". Одна из главных проблем численного анализа состоит в анализе точности результатов тех или иных численных методов; сюда же относится и проблема "степени доверия": мы не знаем, насколько правильны результаты вычислений на компьютере.

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

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

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

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

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