Главная » Просмотр файлов » К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)

К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649), страница 13

Файл №1114649 К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)) 13 страницаК. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649) страница 132019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

В представлении дополнения до единицы отрицательные значения получают путем дополнения каждого разряда соответствующего положительного значения до единицы. Таким образом, представление числа — 3 формируется путем дополнения каждого бита вектора 0011, так что в результате получается 1100. Очевидно, что эту же операцию необходимо выполнить для преобразования отрицательного числа в соответствующее положительное.

И в одном и в другом случае преобразование называется дополнением числа до единицы. Операция формирования дополнения заданного числа до единицы эквивалентна вычитанию этого числа из 2" — 1, то есть из 1111 в случае 4-разрядных чисел (см. рис. 2.1). В системе дополнения до двух операция дополнения производится путем вычитания числа из 2". То же самое значение можно получить и путем добавления 1 к дополнению этого числа до единицы. Обратите внимание, что в системах значения со знаком и дополнения до единицы числа +О и -0 представляются по-разному, а в системе дополнения до двух— одинаково. Имея всего четыре разряда, значение -8 можно представить в системе дополнения до двух, но нельзя представить ни в одной из двух других систем.

Для нас наиболее естественной представляется система значения со знаком, поскольку мы привыкли иметь дело с десятичными значениями со знаком. Систему дополнения до единицы относительно легко связать с системой значения со знаком, а вот система дополнения до двух кажется несколько неестественной. Но, как будет показано в разделе 2.1.3, именно она оказалась наиболее эффективным 52 Глава 2. Машинные команды и программы способом представления чисел с точки зрения выполнения операций сложения и вычитания.

Поэтому она чаще всего используется и в компъютерах. Рис. 2.1. Двоичное представление целых чисел со знаком 2.1.2. Сложение положительных чисел Рассмотрим принцип сложения двух одноразрядных чисел. Результат выполнения этой операции приведен на рис. 2.2. Обратите внимание, что для записи результата сложения двух единиц необходим 2-битовый вектор 10, представляющий значение 2. В этом случае говорят, что сумма равняется О, а перенос — 1. Для сложения многоразрядных чисел используется метод, аналогичный тому, с помошью которого мы складываем десятичные числа на бумаге. Складываются пары разрядов, начиная с младшего разряда, то есть с правого края битового вектора, с переносом в направлении старшего разряда, то есть левого края битового вектора.

ч- О ч- О О 10 Перенос Рис. 2.2. Сложение одноразрядных чисел 2.1. Числа, арифметические операции и символы 63 2.1.3. Сложение и вычитание чисел со знаком Итак, вы уже знакомы с тремя системами представления положительных и отрицательных чисел, или, проще говоря, чисел со знаком. Эти системы различаются только способами представления отрицательных значений, Их сравнительные преимущества с точки зрения выполнения арифметических операций можно определить так: простейшая с точки зрения представления чисел система значения со знаком наименее удобна для их сложения и вычитания.

Система дополнения до единицы несколько лучше. А наиболее эффективной с точки зрения выполнения указанных операций является система дополнения до двух. Чтобы понять принципы арифметики дополнений до двух, нужно рассмотреть операцию сложения по модулю Х (обозначаемую как пни Ф).

Удобным графическим представлением сложения положительных чисел по модулю Мявляется круг с Юзначениями по его периметру: от 0 до М- 1 (рис. 2.3, а). Для примера рассмотрим значение Ф - 16. Результатом операции (7 + 4) щи 16 является значение 11. Для того чтобы выполнить эту операцию с помощью графического представления, найдите на окружности отметку 7 и переместитесь от нее на четыре деления по часовой стрелке. Там вы найдете ответ — значение 11. Аналогичным образом (9 е 14) шоб 16 - 7. Найдя значение 9 и отсчитав от него 14 делений, вы опишете полный круг и остановитесь на делении 7.

Этот нехитрый графический прием позволяет вычислить любую сумму (а + б) щи 16 для любых положительных чисел а и б; вы находите число а и перемещаетесь на б делений по часовой стрелке. Теперь рассмотрим другую интерпретацию окружности пюс1 16. Предположим, что значения из диапазона от 0 до 15 представленьз в соответствии с двоичной системой счисления 4-бнтовыми двоичными векторами: 0000, 0001, ..., 1111. А двоичные векторы, как видно на рис.

2.3, б, представляют числа со знаком от — 8 до +7, что соответствует системе дополнения до двух (рис. 2.1). Давайте применим графическую технологию сложения по модулю 16 к простому примеру сложения чисел +7 и -3. В системе дополнения до двух эти числа представлены как 0111 и 1101 соответственно. Для того чтобы их сложить, найдите на окружности число 0111 и переместитесь на 1101 шагов по часовой стрелке (то есть на 13 шагов — сосчитайте количество делений от 0 до 1101). Вы окажетесь на делении 0100, представляющем ответ, а именно +4 (рис. 2.3, б).

Если вы выполните эту операцию путем сложения пар разрядов справа налево, результат будет таким: 0111 + 1101 1 0100 Перенос Как видите, для получения правильного результата мы проигнорировали перенос из четвертого разряда. В этом и состоит суть сложения по модулю. Перемещаясь по кругу (рис. 2.3, б), мы возвращаемся не к значению 10000, следующему за значением 1111, а к значению 0000.

54 Глава 2. Машинные команды и программы 0000 011 110 0100 1100 101 101 1000 Рис. 2.3. Сложение по модулю и сложение в системе дополнения до двух: представление операций нвд целыми числами по модулю М (а); операции нвд числами в формате дополнения до двух по модулю 16 (б) Теперь мы можем описать правила сложения и вычитания и-разрядных чисел со знаком в системе дополнения до двух. 1.

Для сложения двух чисел следует сложить их п-разрядные представления, игнорируя сигнал переноса из позиции старшего разряда (МБВ). Суммой будет алгебраически правильное значение, представленное в системе дополнения до двух, если зто значение лежит в диапазоне от -2" ' до ч-2" 1 — 1. 2. Для вычитания чисел Х и У, то есть выполнения операции Х вЂ” У, следует вычислить дополнение числа У до двух, а затем добавить его к числу У с учетом правила 1. Результатом будет алгебраически правильное значение, представленное в системе дополнения до двух, если зто значение лежит в диапазоне от — 2" 1 до +2" 1 -1.

На рис. 2.4 показано несколько примеров сложения и вычитания 4-разрядных двоичных чисел. Во всех этих примерах ответ оказывается в диапазоне от -8 до 7. Если ответ выходит за границу укаэанного диапазона, мы говорим, что произошло арифметическое переполнение. Такие ситуации рассматриваются в следующем разделе.

Представленные здесь четыре операции сложения (рис. 2.4, а — г) выполнены по правилу 1, а шесть операций вычитания (рис. 2 4, д-к) — по правилу 2. В операции вычитания для вычитаемого (нижнее значение) сначала выполняется вычисление дополнения, а затем сложение — точно так же, как в случае двух положительных чисел. В программировании часто возникает необходимость выразить некоторое число, заданное в системе дополнения до двух, с использованием определенного количества разрядов, большего, чем необходимо для представления этого числа на самом деле. Если речь идет о положительных числах, для этого достаточно просто добавить слева нужное количество нулей.

В случае отрицательных чисел крайний слева бит, представляющий знак числа, должен быть равен 1, и для получения более длинного представления того же значения нужно повторить знаковый бит слева от числа столько раэ, сколько нужно для достижения заданной длины. Чтобы понять, почему нужно действовать именно так, давайте снова вернемся 2.1. Числа, арифметические операции и символы 66 к окружности для сложения по модулю 16, показанной на рис. 23, б.

Сравните эту окружность с окружностью для сложения по модулям 32 и 64. Представление от- рицательных чисел, -1, -2 и т. д., будет точно таким же, с дополнительной едини- цей слева. Операция добавления единицы называется расширением знака. в 1011 (-5) г 0111 (+7) е 1110 (-2) 1101 (-3) 1001 (-7) 0100 (44) д 1101 (-3) 1101 — 1001 (-7) х -1- 0111 0100 ( — 4) е 0010 (+2) 0010 — 0100 (-'4) ~~ + 1100 1110 (-2) ж 0110 (+6) 0110 — 0011 (+3) ) - 1101 0011 (43) э 1001 ( — 7) 1001 — 1011 (-5) ) + 0101 1110 ( — 2) и 1001 ( — 7) 1001 — 0001 (41) ' "~ - 1111 1000 ( — 8) к 0010 (е2) 0010 — 1101 (-3) > 4 0011 0101 (-5) Рис.

2.4. Операции сложения и вычитания в системе дополнения до двух Теперь вы знаете, насколько просто выполняется сложение и вычитание чисел со знаком в системе дополнения до двух. Поэтому для представления чисел в современных компъютерах выбрана именно эта система. Может показаться, что и система дополнения до 1 не хуже, но это только на первый взгляд. Хотя вычислить дополнение до единицы и проще, результаты операции сложения не всегда оказываются правильными. В данном случае нельзя игнорировать перенос, с„.

в 0010 0011 0101 (+ 2) (+3) (+ 5) б 0100 (+4) 1010 (-6) 1110 (-2) 56 Глава 2. Машинные команды и программы Если с„- О, полученный результат будет верным. Но если с„- 1, то для определения точного результата к полученному значению нужно добавить 1. Необходимость в этом поправочном цикле, зависящая от значения переноса, делает операции сложения и вычитания в системе дополнения до единицы более сложными, чем в системе дополнения до двух. 2.1.4. Переполнение в целочисленной арифметике В системе дополнения до двух и бит могут представлять значения из диапазона от -2" 'до+2" '-1. Используя, предположим, четыре бита, можно представить числа от — 8 до +7 (рис.

2.1). Когда результат арифметической операции выходит за пределы представимого диапазона, происходит арифмеглическое переполнение. При сложении беззнаковых чисел индикатором переполнения служит перенос с„ из позиции старшего разряда. Однако при сложении чисел со знаком это не срабатывает. Возьмем, к примеру, 4-битовые числа со знаком. Если попытаться сложить числа +7 и +4, результирующим вектором суммы 5 будет 1011, а это код числа — 5. Как видите, результат сложения неверный, хотя сигнал переноса из позиции МБВ равен О. Точно так же при сложении чисел -4 и -6 получим вектор 5 - 0110 - +6, то есть еще один ошибочный результат. Сигнал переноса в данном случае равен 1.

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

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

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

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