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

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

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

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

Следовательно, преобразование оставляет /„ неизменным до тех пор, пока е„ вЂ” с, > 2. Поскольку и не нормализовано, оно отлично от нуля н д„ + /,4 > Ь ' — Ь т > 6 т. Ведущий, отличный ат нуля разряд /„ + /„ должеп находиться не более чем на два разряда правее разделяющей точки, и операция округления преобразует 6е+з(/, + /,) в целое, где / < 1. Доказательство будет завершено, если показкгь, что 6"+1+'(/„+/„) 6еез+'(/, +Ь е ~г'„). Из предыдущего абзаца имеем Ьеег(/, + /,) Ье+т/ + Р, = Ь"+т(/.

+ Ь е ~гг), из чего следует искомый результат для всех у < 1, Аналогичное замечание справедливо и в отношении шага М2 алгоритма М, Обратите внимание, что, когда Ь > 2 четное, такое целое число Рл существует всегда; но если 6 = 2, потребуется р+ 3 бит (полагаем 2Р„целым). Бели Ь нечетно, то целое Р„ существует всегда, кроме случая деления в алгоритме М, когда возможен остаток -Ь.

1 6. (Рассмотрите слюлай, когда е, = е„, /„ы -/„, в программе А.) Регистр А сохранит предыдущее значение знака, как и при выполнении команды 400. 7, Будем гаворитгн что число нормализовано тогда н только тогда, когда оно равно кулю или его дробная часть находится в диапазоне -' < ф < -'. Аккумулятор на (р+ 1) разрядов вполне подойдет для операций сложения и вычитания; округление (кроме случая деления) зквивалентно отбрасыванию лишних разрядов, Кажется, получилась очень привлекательная система! Можно использовать представление чисел порядком с избытком нуль, вставленным между первым и последующими разрядами дробной части и дополненным, если дробная часть отрицательна.

Так что сохраняется порядок, принятый для чисел с фиксированной точкой. В. (а) (06, +.12345679) ~Э (06, †.12345678), (01, +.10345678) Ю (00, †.94000000); (Ь) (99, +.87654321) Ю оно же, (99, +.99999999) Е (91, +.50000000). 9. а = с = (-50,+.10000000), 6 = (-41,+.20000000), И = (-41,+.80000000), у ж (11, +.10000000). 10. (аО, +.99999000) ОЛ (55, +.99999000). 11. (50, +.10000001) З (50, +.99999990).

12. Если 0 < Щ < //„/, то (/„! < (/, / — Ь е; следовательно, 1/Ь < 1/„/Я < 1 — Ь е/Ц„) < 1-6- . Е О <)/) <Щ .. 1/Ь < (/.'// ~/6 < ((1-6- )/(1/6))/6=1-6-е. 13. См, Ю. М1сйае! Ъойе, 1ЕЕЕ Тгаазасполз С-22 (1973), 577-586, а также упр. 4.2.2-24, 14. Р1Х 571 9Р Подпрограмма ПТ-в-ФТ. ВТЬ ТЕВР 691 ТЕВР(ЕХР) гП е- е.

61.А 1 гА+- х////О. Нуль на входе? ЛАХ 9Р ОЕС1 1 СИРА О-(1:1) ЛЕ е-4 ЕИИ1 "Я-4Ф1 ХАМ РХХОТРЕО ЕМТХ О ЕВАХ 0,1 СИРХ 1//2ь ЛА 9Р 10 ь+2 УАО 9Р Если ведущий байт равен нулю, снова сместить влево. Абсолютное значение слишком ыьтико7 В некоторых случаях становится нечетным, поскольку Ьг'2 четно. При необходимости округлить. АгЫ ш1 (переполнение невозможно), Выход из подпрограммы. $ БТА е+1(О:О) 1ИСА 1 9М Л(Р гА+-в . г12+-е . Удалить целую часть н. Дробная часть отрицательна: найти ее дополнение.

Размер оюна минус единица $ 16. Если (с! > Щ то установить 1 <-НЗс, в(-сб(гЗИ); х+-(аЗ(ЬЗг)) Зв, у+-(Ь З (а З г)) За В противном случае установить г+-сЗМ, в+-г(З (гЗс); х+-((аЗ г) ЗЬ) Зв, у+- ((ЬЗг)За)Зв. Тогда г + (у есть искомая аппроксимация (а + Ь()/(с + сй). (САСМ 5 (1963), 435, Другое алгоритмы для выполнения арифметических операций с комплексными числами и вычисления соответствующих функций описаны в работе Р.

дупл, ВТТ 2 (1962), 232-255; см. также Рап( Раен!апо, САСМ 10 (1967), 665.) 15. РР БТХ ХОЧ БТА ЕИТХ 651 502 РЕС2 52ИР Я.А ЕИТ2 ЛАМИ ЕИИ2 БЕАХ ЕМТ2 ЛХИХ ЛАХ 1ИСА АОО 1Н ХИС2 ЛИР БИ ЕОО ЮИ1 СОМ ЕХТТР ОРАО ТБИР О ТЕИР(ЕХР) 0 ь+3 0,2 О 1Р 0,2 0,2 0 е+3 е+2 1 ИМ1 Ц МОХИ 1(1:1) 88-1,88-1(1:4) Подпрограмма для выделения дробной части.

Снятие блокировки переполнения. ТЕИР Ф- и. Добавить размер слова минус единица. Подготовка к нормализации результата. Нормализовать,округлить и выйти из падпрограммьь 17. (См. ЕоЬе«Ч 14огпэ, 1ЕЕЕ Тглпэагболэ С-20 (1971), 1578 — 1579.) Для такой системы анализ ошибки более сложен, поскольку здесь предпочтительнее испольэовать арифметику интервалов. 18. Для положительных чисел решение таково. Сдвигать дробную часть влево до тех пор, пока не окажется, что 1« = 1; затем округлить, затем, если дробная часть равна нулю (нереполнение при округлении), снова сдвинуть вправо. Для отрицательных чисел решение таково. Сдвигать дробную часть влево до тех пор, пока не окажется, что 1« = 0; затем округлить, затем, если дробная часть равна нулю (исчезновение значимости при округлении), снова сдвинуть вправо.

19. (43+ [е,. < е ] — [переполнение дробной части! — 10 [результат — нуль]+ 4 [абсолютная величина округлена до]+ [первый округленный разряд равен «]+ 5 [округленные разряды ь 2 равны 10...0]+ 7[переполнение при округлении]+ 7АТ+ (11[Я>0] — 1) [гХ принимает ненулевые разряды]) и, гдг А«есть число сдвигов влево при нормализации. Максимальное время 73и получается, если, например, и =+50 01 00 00 00, еж -46 49 99 99 99, 6 = 100. [Учитывая данные из раздела 4.2.4, время будет иметь порядок 45.5и.] РАЗДЕЛ 4.2.2 1. и О е = и О« -е = — е Е и = — (е «9 -и) = -(е О и), 2. и«рх > и«90 = и, как следует из (8), (2), (6), поэтому сновав силу(8) (ийх)ше > ише. Аналогично из (8) и (6) вместе с (2) следует, что (ай«х) ш(об«р) > (на«х) «9 е. 8. и = 8.0000001, е = 1.2500008, ш = 8.0000008; (и З е) 4« ш = 80.000064, и 46 (е б«ш) = 80.000057.

4, Да; пусть 1/и ш е = ш, где е велико. 5. Не всегда, например для чисел и = е = 9 в десятичной системе, 6. (а) Да. (Ь) Толькодля Ь+р < 4 (попробуйте проверить си = 1 — Ь р). Ноем, упр. 27. 7. Если и и е — последовательные числа с плавающей точкой, и й е = 2и или 2е. Когда это 2е, мы часто пеленаем иФ ше«3« < 2еО«, Например, и ж (.10...

001)ь, е ж (.10 010)э, и О«е = 2е и иоь + сот = (.10... 011)ь. 8. (а) -, ш', (Ь), ж; (с), щ, (д); (е) 9. [ — [ < [и- [+[ — [ < ~ ьп(6'" «,6'" )+ гп(6',Ь " ) < 6'" +. 6' < (с«+ еь) «пах(6'" ь, Ь'" "). В общем случае усилить этот результат нельзя, Например, можно было бы взять е очень малым по сравнению с обоими порядками е„и е, но это означало бы, что и — м слишюзм велико яри сделанных предположениях. 10. Если ар > 1 и а«> 1, полУчим ( а«... ар «а )ь З ( 9... 99)ь = ( а« ...аР «(аР— 1))«4 здесь "9" есть 6 — 1.

Далее, (.а«...ар «ар)ь ~В(10 ..0)ь = (.а«., ар «0)ь, так что, если Ь > 2 и ар > 1+ [а«> Щ, умножение оказывается не монотонной операцией, Но в случае, когда Ь = 2, используя то же самое рассуждение, можно доказать, что умножение является монотоннъпа. Очевидно, "некий компьютер" имеет Ь > 2. 11.

Можно положить без ущерба для общностн рассуждений, что х есть целое, 0 < х < 6". Если е < О, то1 = О. Если 0 < е < р, то х — 1 имеет не более р+1 разрядов, причем наименее значимый равен нулю. Если е > р, то х — 1 = О. [Результат справедлив и при более слабой исходной посылке [1[ < Ь', в этом случае можно было бы получить х — 1 = 6', если е > р.] 12. Предположим, что е„= р, е, < О, и > О, Случай 1: и > Ьр . Случай (1, а): ш = и+1, е > Ь.,е„=О. Тогдай = вилик+1,е' =1, и" = и, е' =1илиО. Случай(1,Ь): ы = и, )е] < -.

Тогда а' = и, е' = О, й' = и, е" = О. Если ]е) = -' и допустимо более общее правило округления, можно было бы получить и' = и щ 1, й' ~1, Случай (1. с): ти = и — 1, е < --, е, = О. Тогда и' = и или и — 1, е' = -1, й' ы и, е" = -1 или О. Случай 2: и = Ь» . Случай (2, а): а~ = и+ 1, в > -', е, = О, как в (1, а). Случай (2, Ь): ге=и,)е( < -', й > и,каке(1,Ь). Случай(2,с): в =и, (е] < -', и' < а. Тогда а' = а — 1/Ь, где е = у/Ь + е~ и ]в~] < 1Ь ' для некоторого положительного целого у < $5; имеем е' = О, и" = и, в" = у/Ь, Случай (2, 6): ы < и. Тогда ~е = и — у/Ь, где е = -б/Ь + е~ и (е~) < -'Ь ' для некоторого положительного целого б < Ь; имеем (ь',и") = ( — 1/Ь,и) и (и', е' ) = (и, -у/Ь) или (и - 1/Ь, (1 —,1)/Ь); последний вариант возможен, только если «~ =15 ~.

В любом случае ахи = а — и, «З«' =е — е, ахи ма — й, «З«е же — е", гоипб(ы-а — е) = 㫠— а-е. 13. Поскольку пщпг)(х) = 0 тогда и только тогда, когда х = О, нужно найти множество пар целых чисел (щ, и), обладающих таким свойством: результат щ З и есть целое число тогда и только тогда, когда целым числом является щ/и. Предположим;что (т(,]а) < Ь'. Если гл/и есть целое, то т З и = гп/и — также целое. И наоборот, если т/и яе есть целое, а т З и — целое, имеем 1/(и) < )т З п — щ/и] < Цт/п(Ь' ».

Следовательно, (щ) > 2Ь» Зиачит, ответ таков: нужно потребовать, чтобы выполпялись условия ]т] < 25» ' и О < (и] < Ь». (Возможно и чуть менее жесткое ограничение.) 14. ((иЗ«)Зы-аеы) < )(иЗ«)Згв — (иЗ«)щ(+)м)(иЗ«-ае] < бщв„1х,„+Ь' е б»вг < (1 + Ь)бщхщх . Теперь ]еще,1х — е„яыяи1) < 2; таким образом, в качестве искомого результата можио взять с = Ьз(1 + Ь)Ь 16. Из и < е следует, что (и Ю и) З 2 < (и З е) З 2 < (е З е) З 2. Таким обрезом, сформулированное в задаче условие остается справедливым для любых и и е тогда и только тогхэг, когда оио справедливо для любых и = е.

Для основания Ь = 2 исходиое условие справедливо всегда (эа исключение случая, когда возникает переполиеиие); ио при Ь > 2 существуют числа е ЭЕ гх, такие, что е З е = и З ы. Значит, сформулированное в задаче условие ие выполняется. [С другой стороны, формула и З ((е З и) З 2) действительно дает среднюю точку, лежащую внутри иитервела. Докаэетельсгпэо. Достаточио показать, что и+(«Зи) З2 < в, т е. («Зи)З2 < в — и; легко проверить.

что гоипг((этоох(х)) < х для любых х > 0.] 16. (а) Изменение порядка появится в суммах 2 ю = 11.111111, 2 „, = 101.11111, 2 1001.1102, '] ее, = 10001.020, 2"эипе = 100000,91, 2 име,э ы 1000000.0: таким образом, = 1109099.1. (Ь) После определения суммы 2 „", 1.2345679 = 1224782.1 вычисления в соответствии с (14) приведут к попытке определить квадратный корень из —.0053187053.

Но в этом случае вычисления в соответствии с (15) и (16) будут точными. ]Если хь ж 1 + ((Ь вЂ” 1)/2]10 ", то вычисления в соответствии с (15) и (16) дадут ошибку порядка и. Более детальный анализ точности вычисления стацдартиого отклонения приведен в работе СЬэп апд Ьеиы, САСМ 22 (1979), 526-531.] (с) Нужно показать, что и З ((е З и) З Ь) находится между и и е; см. упр. 15. 17. ГОЕР ЗТЛ 9Г Подпрограмма для сравиения чисел в формате с плавающей точкой. 10Г ОГЬО Убедиться, что индикатор переполнения выключен, ЕТХ ТЕАТР 7.046 ТЕИР в+- -е. (Сюда скопируйте строки 07-20 из программы 4.2.1А.) ЬЭХ ГГ(0: О) Присвоить гХ значение "нуль" со знаком, совпадающим со знаком /„.

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

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

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