Главная » Просмотр файлов » Кук Д., Бейз Г. - Компьютерная математика

Кук Д., Бейз Г. - Компьютерная математика (1048841), страница 20

Файл №1048841 Кук Д., Бейз Г. - Компьютерная математика (Кук Д., Бейз Г. - Компьютерная математика) 20 страницаКук Д., Бейз Г. - Компьютерная математика (1048841) страница 202017-12-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Х Очевидно, что могут возникнуть проблемы, вызванные ограниченностью чисел. з(ы ке можеы нт нзбея«ать, одпако следует знать, когда возыожпа «ошибка». Форма дополнения делает проверку условия переполнения относительно легкой, использующей только вначения старшего значащего бата.

(В Х; зто бпт с номером 24.) Этот бит обозначает знак представляемого числа и называется знаковыы битом илп знаковым разрядом. Перед тем как проверить, какое значение имеет знаковый бит, напомним, что прибавление 1 к ыаксныальноыу полон«птельноыу числу в у."., дает максимальное отрицательное число (наибольшее отрицательное число — зто отрицательное число, отстоящее дальше всего от нуля).

Другимн словаыи, числа повторяются циклическим образом. В Е» ыы нмееы ситуацию, изображенную на рис. 4.1. в л,'- Ю - 1Б Б ~5 - 75 Б 75 - «Б Б 75 "75 -»У - «Б - 52 -17 - 6 Б М и 52 «7 «Б Вт Рас. 4Л Что же произойдет, если мы сложим два числа х и у, где — ак„х<а и — а<у<а (в Х", а 10)3 Сумма х+ у будет ограничена: 2а(а+ у «я 2а — 2(2а — 1. Само ио себе зто неравенство ничего не дает. 11озтому мы рассмотрим трн случая: (1) если -а(х(0 и -а(у<0 тогда -2а(а+у(0; (11) если 0(х<а и 0<у(а тогда 0 ( х+ у ( 2а — 2 < 2а — 1; 12С +1О1О1 11010 1 01111 1! 11101 +00110 1 00011 01100 +О11ОО +01010 1 О 1 1 О' Вернемся теперь к умножению и делению.

Сначала рассмотрим умнов«ение. Напомним, что в У (или, более точно, в Х,«для достаточно большого и) умножепие на 10 можно получить «сдввгомз всех цпфр на одну позицию влево и записью в О-й познцпп цифры О. (В л умножение на т также всегда можно осуществить сдвигом влево.) 110011 1 ~Ц 00101 +00111 127 (П1) если -а <х < О н Осу<а тогда -а <х+у < а. Вначале ааметим, что результат в случае (П1) находится в требуемых пределах и, следовательно, всегда правильный.

Чтобы понять, как могут возникать ошибки в случаях (1) и (П), необходимо вспомнить, что если г«в «иЕ и -2а<г<-а, то число г представимо в конечной арифметике числом г', где г' г+ 2а и О с г' с а. Аналогично, если а < г с 2а — 1, то г представимо г", где г" г — 2а и -а<г" <О. Следовательно, ответ будет неправильный, если он в случае (1) полон«ительный или в случае (П) отрицательный. Чтобы объяснить эти ааключепия в терминах свойств знакового разряда, рассмотрим различные возможности сложения двух чисеш а) оба числа отрицательны; б) оба числа положительны; в) числа имеют различные знаки.

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

Пример 3.2. Напомним, что вычисления проводятся т«-. Следовательно, мы имеем простой способ умножения и на неотрицательные степени числа 2 в Ео — сдвиг каждой цифры влево на соответствующее число позиций. Пример З.З. (Вычисления проводятся в Хо .) 0 0 0 1 1 (3) 1 1 1 1 0 ( — 2) 0 0 1 1 0 (о2) 1 1 1 0 0 (о 2) 0 1 1 0 0 (э 2 = 12) 1 1 0 0 0 ( ° 2е~ 3) 0 0 1 0 1 (3) 0 1 0 1 0 (о 2) 1 0 1 0 0 (о 2) 0 1 0 0 0 (о 2 3). Я' Из зтих примеров видно, что метод также хорошо работает для отрицательных чисел, но результат будет о ошибкой (переполнения), если на каждом этапе менялся знак и если потом он опять изменился. Для умножения произвольного целого числа (злемента г() используем свойство дистрнбутивности умножения по отношению к сложению и представим множитель как сумму степеней числа 2.

Пример 3,4. (Вычисления проводятся в Ео~ .) 3 ° 5 3 « 2т + 3 о 2о(2о () ( 5) ° 3 ( 5)» 2~+( 5)о2о Позтому 0 0 0 1 1 1 1 0 1 +О 1 1 О О +1 0 1 1 0 0 1 1 1 1 1 1 0 0 0 1Х Точно так же, как умножение производилось сдвигами влево, деление на положительные степени числа 2 осуществляется сдвигом вправо. (Деление ва другие целые числа должно получаться путем сведения к вычитанию степеней числа 2, Этот процессе мы обсуждать не будем.) Однако специального рассмотрения требуют отрицательные числа. Отметим также, что в общем случае ожидаемый результат (т. е. арифметически ожидаемый результат в В) будет не целым, а дробным. Пример 3.5. Попытаемся в Х', вычислить 12/4, (-6)/2 и 7/4 сдвигом на 2, 1 и 2 позиции соответственно.

Имеем 01100 (12) 11010 ( — 6) 0 0 0 1 1 ) 0 0 (3 = 12/4) 0 1 1 О 1 ) О (13 та 8/2) 0 0 1 1 1 $ (т) 0 0 0 0 1 $ 1 1 (1 яо т/4). ф 123 Сдвиг на одну позицию вправо автоматически сводвт любое отрицательное число к положительному. В Х» сдвиг переводит -16 к +8. Чтобы исправить зто, следует отнять от результата число 16, что даст -8 (т. е. -16/2).

То же самое можно получить, устанавливая знаковый разряд равным 1. Следовательно, правильный результат достигается использованием анакового разряда, аначение которого равно О или 1 (в зависимости от анака числа), для того чтобы заполнить «пропуски», создаваемые в результате сдвига вправо. Следовательно, (-6)/2 приводит к 11161 -3. Действие битов (со значением 1), «выпадающих» из числа в результате сдвига вправо, должно усекать результат. По»тому 7/4 дает 1.

Существует общепринятая практика округлять число (вверх независимо от знака) прибавлением к числу утерянного последнего бита. Зто соответствует обычному арифметическому правилу округления, поскольку 1 в первом бите остатка представляет собой 0.5. Следовательно, 7/4 дает 2. У п р а ж н е н и е 4.3.

1. Быстрый способ вычисления дополнения до 2 от данного битового элемента в Х» ааключается в следующем. Начиная с правого конца, копируем все идущие подряд нули и первую встретившуюся единицу. Затем все оставшиеся биты изменяем. Покааать, что етот способ работает в большинстве случаев, и р.осмотреть случаи, когда он но работает.

2. Пусть в Х, 'производятся следующие вычисления. Складывают дза числа л и у (обозначим нх сумму через з). Если от з отнять у, то получим некоторый рееультат с, а если от з отнять с, то получим некоторое число Ы. Что моя<но сказать о с и И? Как отличаются результаты, если вычисления производятся в Х," ? 5 4. Логическая арифметика Строго говоря, булеза зрнфметпка оперирует на множествах Х» и Х, и, следовательно, включает только числа О и 1. Для того чтобы подчеркнуть такую структуру, начнем с рассмотрения логической арифметики на «относительно большом» множестве Х». Она дает основу многозначной логики, Отсюда легко получить болев простой 9 д. ьт», г.

в«з» 129 случай Еь Воз!и!ем множество Еа 10, 1, 2, 3, 4) п олерацяп ~/ и /~, определенные в табл. 4.11. Табаева 4Л1 Д)О ! 234 О !234 О !234 1234 2 2234 3 3334 4 4444 О О О О О О 1 1 1 1 О 1 2 2 2 О ! 2 3 3 О 1 2 3 4 Упорядочивая Еа обычным обрааом (порядок пндуциру. ется Е и В), вндим, что а Ч Ь ° шах(а, Ь), аЛ Ь =* ш(п (а, Ь). Обе операции коммутативны и ассоциативны, О является единицей для ~/, а 4 является единицей для /1; /! дистрнбутпвна по отношению к Ч, но не наоборот. Пример 41.

Воаьмем множество Е с естественным порядком элементов. Введем операции Д н К Рассмотрим шесть воаможных случаев упорядочивания трех произвольных элементов а, Ь, с иа Е ! (1) а~Ья*с; (11) а~с<Ь; (П1) Ь-Я а<с; ([У) Ья,с~а; (Ъ) с<а<3; (У1) с<Ь~а.

Для проверки условия дистрнбутивностн нужно показать, что а/1(Ь!/с) (а/~Ь)Яа/~с). Это можно сделать проверкой того, что обе части выра- жения совпадают для каждого из наборов а, Ь и с. Бу- 1ЗО Использование символа 4 является интуитивным, однако может быть обосновано с помощью следующего определения: а ~ Ь тогда и только тогда, когда а ~/ Ь Ъ.

дем одновременно вычислять п сопоставлять соответствующие выражения: (1) а /~ (Ь1/с) а/~с а, (а/1Ь)1/(аДс) а'1/а = а; (П) аД(Ь\/с) = аДЬ = а, (а/1 Ь) т/(а/, с) = а ~/а = а; (П1) а/~(Ъ~/с) а/~с а, (аДЬ)~/(а/~с) = Ь1/а = а; (1У) аД(Ь1/с) = а/~с = с, (аДЬ74(а~,с) = Ь~/с = с; (У) а/1(Ь~/с) а/~Ь = а, (а/~Ь)1/(а/тс) а1/с = а; (У!) а/~(Ь1/с) = аД Ь = Ь, (а/~Ь)~/(а/~с) = Ь1/с = Ь. Следовательно,Д дпстрибутпвна по отношению к Ч.

// Ь)ожно также показать (зто как раз тот случай, когда мы не получаем ожидаемого результата), что У дистрибутивна по отношению к Д, т. е. что аЯЬДс) =(а)/Ь)/~(а1/с). Проверку этого свойства оставляем в качестве улражненкя. Перед тем как закончить обсуждение общего случая, давайте вернемся к табл. 4.11, определяющим Ч п Д. Элементы, имеющие одинаковые аначения в таблицах, расположены относительно единичных элементов так, как покааано на рис. 4.2.

На самом деле каждая пз этих Рис. 4.2 операций является «отражением» другой и связь, которая позволяет одну операцию менять на другую, определяется (в Ез) нарами (О, 4), (1, 3), (2, 2), (3, 1), (4, 0), В сущности, это принцип двойственности, который 9~ 121 будет обсуждаться в гл. 5. Возвращаясь к Ен имеем У О 1 Л о о о о О 1 1 1 В Ез операцию Ч обычно интерпретируют как пли (ре. зультат равен 1, если один ив операндов равен 1, включая случай, когда они оба равны 1). Аналогично /~ читается как и.

Число 0 является единичным элементом по отношению к или, число 1 является единичным злементом ко отношению к и. Можно распространить зги результаты на болев высокие размерностп (переводя от Ез к Е",) расширяя компоненты и учитывая, что не существует переноса из одной копии Ез к другой. П р и и е р 4.2. О 1 1 1 О 1 О 1 О О 1 /~ О О 1 1 1 1 О О 1 О 1 О 0 1 1 О 1 О О О О 1. Упражнение 4.4. Определяя операция Д н ~/ как минимум н максимум, показать для произвольного Е, что а ~/(Ь/~ с) (а ~/ Ь) Д(а ~/с). ГЛАВЛ 5 АЛГЕБРАИЧЕСК11Е СТРУ11ТУРЫ В предыдущей главе мы уже познакомплпсь с некоторыми способамп определения операций над множествамп п научились с нлмл работать с целью производить имеющие смысл вычисления.

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

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

133 $1. Алгебраические структуры и подструктуры О и р е д е л е и н е. Алгебраической струкгурий иззывается множество вместе с операциями (заывнутыыи), определенными на этом ыпожестве. е' Обычно операции имеют некоторые характерные свойства, которые могут быть обоснованы в виде теорем п которые используются в вычпслевпях. (Структуру вместе со всеми теореыамп, правиламп вычислений и вывода виогда называют алгебраической системой.) К как'дой структуре применимо понятие подструктуры. Чтобы зто продемонстрировать, рассмотрим еикотетическую структуру, наэываеыую указателем.

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

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

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

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