Главная » Просмотр файлов » Э. Таненбаум - Архитектура компьютера

Э. Таненбаум - Архитектура компьютера (1127755), страница 189

Файл №1127755 Э. Таненбаум - Архитектура компьютера (Э. Таненбаум - Архитектура компьютера) 189 страницаЭ. Таненбаум - Архитектура компьютера (1127755) страница 1892019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

16. Напишите программу, которая на входе получает 2 строки из 32 АБСП-символов нулей и единиц. Каждая строка представляет 32-разрядное двоичное число в системе с дополнением до двух. На выходе программа должна выдавать их сумму в виде строки из 32 АЯСП-символов нулей и единиц. Приложение Б Числа с плавающей точкой Диапазон чисел, используемых при различных вычислениях, очень велик.

Например, в астрономические вычисления может включаться масса электрона (9 х 10'~ грамм) и масса Солнца (2 х 10зз грамм). Диапазон чисел здесь превышает 10~~. Эти числа можно представить следующим образом: 0000000000000000000000000000000000.0000000000000000000000000009 2000000000000000000000000000000000.0000000000000000000000000000 При всех вычислениях должны сохраняться 34 разряда слева от десятичной точки и 28 разрядов справа от нее.

Это даст 62 значимых разряда в результатах. На бинарном компьютере можно использовать арифметику с многократно увеличенной точностью, чтобы обеспечить достаточную значимость. Однако мы не можем определить массу Солнца с точностью даже до пяти значимых разрядов, не говоря уже о 62. В действительности практически невозможно выполнить какие-либо измерения с точностью до 62 знаков.

Можно было бы хранить все промежуточные результаты с точностью до 62 значимых разрядов, а перед выводом окончательных результатов отбрасывать 50 или 60 разрядов, но процессор и память тратили бы на это слишком много времени. Нам нужна такая система для представления чисел, в которой диапазон выражаемых чисел не зависит от числа значимых разрядов. В этом приложении мы расскажем о такой системе.

В ее основе лежит экспоненциальное представление чисел, которое применяется в физике, химии и машиностроении. Принципы представления чисел с плавающей точкой Числа можно выражать в следующей общепринятой экспоненциальной форме: п =~х 10', где ~ называется дробью, или мантиссой, а е (это положительное или отрицательное целое число) — экспонеитой. Компьютерная версия такого представления называется представлением числа с плавающей точкой. Вот примеры чисел в такой записи: 3,14 = 0,314 х 10' = 3,14 х 10 0,000001 = 0,1 х 10-' = 1,0 х 10-' 1941 = 0,1941 х 10 = 1,941 х 10 Область значений определяется по числу разрядов в экспоненте, а точность— по числу разрядов в мантиссе.

Существует несколько способов представления 746 Приложение Б. Числа с плавающей точкой того или иного числа, поэтому одна форма выбирается в качестве стандартной. Чтобы изучить свойства такого способа представления, рассмотрим представление Я с трехразрядной мантиссой со знаком в диапазоне 0,1 < ~Я < 1 и двухразрядной экспонентой со знаком. Эти числа находятся в диапазоне от +0,100 х 10 вз до +0,999 х 10"эз, то есть простираются почти на 199 значимых разрядов, хотя для записи числа требуется всего 5 разрядов и 2 знака. Числа с плавающей точкой можно использовать для моделирования системы действительных чисел в математике, хотя здесь есп несколько существенных различий. На рис.

Б.1 представлена ось действительных чисел. Она разбита на 7 областей; 1. Отрицательные числа меньше — 0,999 х 10вв. 2. Отрицательные числа от — 0,999 х 10зв до — 0,100 х 10-ээ. 3. Отрицательные числа от — 0,100 х 10-зз до нуля. 4. Нуль. 5. Положительные числа от 0 до 0,100 х 10 эз. 6.

Положительные числа от 0,100 х 10 вв до 0,999 х 10вв. 7. Положительные числа болыпе 0,999 х 10вв. 3 б 1бн00 О 1вч00 Рис. Б.1. Ось действительных чисел разбита на 7 областей -10вв 1О Первое отличие действительных чисел от чисел с плавающей точкой, которые записываются тремя разрядами в мантиссе и двумя разрядами в экспоненте, состоит в том, что последние нельзя использовать для записи чисел из областей 1, 3, 5 и 7. Если в результате арифметической операции получится число из области 1 или 7 (например, 10вс х 10в' = 10мс), то произойдет ошибка переполнения и результат будет неверным.

Причина — ограничение области значений чисел в данном представлении. Точно так же нельзя выразить результат из области 3 или 5. Такая ситуация называется ошибкой потери значимости. Эта ошибка менее серьезна, чем ошибка переполнения, поскольку часто нуль является вполне удовлетворительным приближением для чисел из областей 3 или 5. Остаток счета в банке на 10 'вт не сильно отличается от нулевого остатка счета.

Второе важное отличие чисел с плавающей точкой от действительных чисел — их плотность. Между любыми двумя действительными числами х и у существует другое действительное число независимо от того, насколько близко к у расположено число х. Это свойство вытекает из того, что для любых отличных действительных чисел х и у между ними существует действительное число г = (х + у)/2.

Действительные числа формируют континуум. Принципы представления чисел с плавающей точкой 747 Таблица Б.1. Приблизительные верхняя и нижняя границы чисел с плавающей точкой Количество разрядое в мантносе Количество разрядов Нижняя граница Верхняя граница е экспоненте 10 '2 10 ке 10-1002 10-10002 1 0-13 100 1000 10000 100000 10в 1Ом 10000 1Омвв 1Ов 1Ом 1Овм 1 Омвв 10000 10000 1О '00 10 10п 10-ивов 4 4 5 5 5 5 10 20 1 0-14 10 '04 10-1004 10-'0004 10-1000 10-1010 Числа с плавающей точкой континуума не формируют. В двухзнаковой пяти- разрядной системе можно выразить ровно 179 100 положительных чисел, 179 100 отрицательных чисел и 0 (который можно выразить разными способами), то есть всего 358 201 чисел.

Из бесконечного числа действительных чисел в диапазоне от — 10"00 до ч-0,999 х 1000 в этой системе можно выразить только 358 201 число. На рис. Б.1 эти числа показаны точками. Результат вычислений может быть и другим числом, даже если он находится в области 2 или 6. Например, результат деления числа 0-0,100 х 100 на 3 нельзя выразить точно в нашем представлении. Если полученное число нельзя выразить с помощью используемого представления, нужно брать ближайшее представимое число. Такой процесс называется округлением.

Промежутки между смежными числами, которые можно выразить в представлении с плавающей точкой, в областях 2 и 6 не постоянны. Промежуток между числами ч-0,998 х 1002 и 0-0,999 х 10эв гораздо больше промежутка между числами ч-0,998 х 100 н е0,999 х 100. Однако если промежутки между числом и его соседом выразить как процентное отношение от этого числа, большой разницы в промежутках не будет. Другими словами, относительная погрешность, полученная при округлении, приблизительно равна и для малых, и для больших чисел.

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

С увеличением количества разрядов в экспоненте области 2 и 6 увеличиваются за счет уменьшения областей 1, 3, 5 и 7. В табл. Б.1 показаны приблизительные границы области 6 для десятичных чисел с плавающей точкой и различным количеством разрядов в мантиссе и экспоненте. 748 Приложение Б. Числа с плавающей точкой Пример 1: Основание степени 2 з а О О О О О О О О О О 1 1 О 1 1= гш (1. г-"+1.ги'+1.ги' +1х2 "з) = 432 Мантисса: 1х2 "з+1хгнз +1х2 +1хгчз 0 1010100 0 Зйак Экспонента + сосмещением 64 (84-64=20) сь о з е Для приведения к нормализованному виду нужно сдвинуть мантиссу влево на 11 бит и вычесть 11 из экспоненты Я и йо й4 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0=2 (1х21+1хг~+1хг Мантисса: 1х2' +1х2з +1х2 з ) = 432 +1х2'4 +1х2 з О 1ОО1ОО1 Знак Экспонента + со смещением 73-64=9 а сь о Пример 2: Основание степени 16 161 л О 1ООО1О1 ОО ОО Знак Экспонента + сосмещением Мантисса: 1Х16 +ВХ16 69-64=5 16 з 16 з 16 л л л 1011 0000 0000 =16 (1х16з+Вх16 )=432 а И йа к о.

ис о о Ф Для приведения к нормализованному виду нужно сдвинуть мантиссу влево на 2 шестнадцатеричных разряда и вычесть 2 из экспоненты 0 1000011 0001 1011 0000 0000 =16 (1х161+Вх16з)=432 Знак Экспонента Мантисса; тх16 1+Вхтв з + со смещением 67-64=3 $ е кд и кь а о Х Рис. 6.2. Примеры нормализованных чисел с плавающей точкой Вариант такого представления применяется в компьютерах. Основа возведения в степень — 2, 4, 8 или 16, но не 10.

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

Примеры нормализованных чисел с плавающей точкой даны на рис. Б.2 для двух оснований степени. В этих примерах показана 16-разрядная мантисса (включая знаковый бит) и 7-разрядная экспонента. Точка находится слева от крайнего левого бита мантиссы и справа от экспоненты. Стандарт )ЕЕЕ 754 749 Стандарт!ЕЕЕ 754 До 80-х годов каждый производитель поддерживал собственный формат чисел с плавающей точкой. Все они отличались друг от друга. Более того, в некоторых из них арифметические действия выполнялись неправильно, поскольку арифметика с плавающей точкой имеет некоторые тонкости, которые не очевидны для среднестатистического разработчика аппаратного обеспечения. Чтобы изменить эту ситуацию, в конце 70-х годов институт 1ЕЕЕ учредил комиссию по стандартизации арифметики с плавающей точкой.

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

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

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

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