2.2. Арифметические основы работы эвм
Правила выполнения арифметических действий над двоичными числами задаются таблицами сложения, вычитания и умножения.
Таблица 1
Правила арифметики во всех позиционных СС аналогичны. В двоичной СС арифметическое сложение происходит по правилу сложения по модулю два с учетом переноса единицы в старший разряд (см. таб. 1).
Пример 1. Выполнить операцию арифметического сложения в двоичной системе счисления. Решение.
Точками показаны переносы. В устройствах, реализующих операцию арифметического сложения двоичных чисел, операнды представляют числами определенной разрядности (одинаковой для обоих операндов). При этом неиспользуемые старшие разряды заполняются нулями. Также заполняются нулями младшие разряды дробной части вещественного числа (справа от точки).
Следует заметить, что в реальных ЭВМ чаще всего используются 16-, 32-, 64-разрядные сетки (машинные слова). Однако для учебных целей при рассмотрении методов выполнения арифметических операций не будем обращать внимание на разрядность операндов (т. е. будем использовать разрядность, отличающуюся от разрядности реальных ЭВМ).
Пример 2. Выполнить операцию арифметического сложения двух вещественных чисел в двоичной системе счисления.
Решение.
Результаты сложения двух чисел показаны на рисунке слева. При сложении вещественных чисел в общем случае перенос осуществляется и из дробной части числа в целую часть.
Рассмотрим правило умножения многоразрядных двоичных чисел.
Умножение двоичных многоразрядных чисел производится путем образования частичных произведений и последующего их суммирования. Каждое частичное произведение равно нулю, если в соответствующем разряде множителя стоит 0, или равно множимому, сдвинутому на соответствующее число разрядов влево, если в разряде множителя стоит 1.
Таким образом, операция умножения многоразрядных двоичных чисел внутри ЭВМ сводится к операции сдвига и сложения. Положение точки, отделяющей целую часть от дробной части, определяется так же, как и при умножении десятичных чисел.
Пример 3. Перемножить в двоичной СС числа 7,5D и 5D.
Решение.
В рассмотренном примере второй разряд множителя равен нулю, поэтому второе частичное произведение также равно нулю.
В ВТ, с целью упрощения реализации арифметических операций, применяют специальные коды. За счет этого облегчается определение знака результата операции, а операция вычитания чисел сводится к арифметическому сложению. В результате упрощаются устройства, выполняющие арифметические операции.
В ВТ применяют прямой, обратный и дополнительный коды.
Прямой двоичный код Рnp(х) – это такое представление двоичного числа х, при котором знак «+» кодируется нулем в старшем разряде числа, а знак «– » – единицей. При этом старший разряд называется знаковым.
Например, числа +5D и – 5D, представленные в прямом четырехразрядном коде, выглядят так: Здесь апострофом условно (для удобства определения знака) отделены знаковые разряды.
Обратный код получается из прямого кода по следующему правилу:
Из приведенного выражения видно, что обратный код для положительных чисел совпадает с прямым кодом. Чтобы представить отрицательное двоичное число в обратном коде, нужно оставить в знаковом разряде 1, во всех значащих разрядах заменить 1 на 0, а 0 на 1. Такая операция называется инвертированием и обозначается горизонтальной чертой над инвертируемым выражением (см. разд. «Логические основы работы ЭВМ»).
Пример 4. Получить обратный код для числа х = – 11D.
Решение.
Считается, что здесь числа представлены пятью разрядами. Из рассмотренного примера видно, что обратный код для положительных чисел совпадает с прямым, а для отрицательных чисел получается инверсией (переворотом) всех разрядов, кроме знакового разряда.
Дополнительный код образуется следующим образом:
Из выражения видно, что дополнительный код положительного числа совпадает с прямым кодом, а для отрицательного числа получается инверсией всех значащих разрядов и добавлением единицы к младшему разряду результата.
Дополнительный код отрицательного числа может быть получен из обратного кода путем прибавления 1 к младшему разряду обратного кода (естественно, с учетом переносов между разрядами).
Пример 5. Получить дополнительный код для числа х = – 13D.
Решение.
В табл. 2 представлены прямые, обратные и дополнительные коды чисел от – 7D до +7D.
Таблица 2
Рассмотрим правило сложения двоичных чисел в дополнительном коде.
При алгебраическом сложении двоичных чисел положительные слагаемые представляют в прямом коде, а отрицательные – в дополнительном коде и производят арифметическое суммирование этих кодов, включая разряды знаков, которые при этом рассматривают как старшие разряды. При возникновении переноса из разряда знака единицу переноса отбрасывают, в результате получают алгебраическую сумму в прямом коде, если эта сумма положительная, и в дополнительном коде, – если сумма отрицательная.
Напомним, что алгебраическое сложение – это сложение, в котором могут участвовать как положительные, так и отрицательные числа.
Пример 6. Выполнить алгебраическое сложение с использованием дополнительного кода для чисел х1 = 7D и х2 = – 3D.
Решение.
Необходимо найти сумму:
Учитывая, что x1 > 0, это число нужно представить в прямом коде, а так как х2 < 0, то х2 нужно перевести в дополнительный код.
Так как результат положителен (в знаковом разряде Р(у) – 0), значит, он представлен в прямом коде. После перевода двоичного числа в десятичную СС получим ответ: у = +4D.
Пример 7. Выполнить алгебраическое сложение с использованием дополнительного кода для чисел х1 = 8D и х2 = – 13D.
Необходимо найти сумму:
Число х1 нужно представить в прямом коде, а х2 – в дополнительном коде.
В знаковом разряде стоит единица, и, значит, результат получен в дополнительном коде. Для перехода от дополнительного кода
к прямому коду Рпр(у) необходимо выполнить следующие преобразования:
Переходя от двоичной СС к десятичной СС, получим ответ: у = – 5D.
- Александр Петрович Алексеев Информатика 2002
- 129337, Г. Москва, а/я 5
- Ответственный за выпуск: с. Иванов
- Isbn 5-93455-128-0 © а.П. Алексеев Введение
- Предисловие ко второму изданию
- 1. Основные понятия
- 1.1. Основные понятия об информации и информатике
- 1.2. Понятие об информационных технологиях
- К.А. Гельвеций
- 1.3. Этапы развития вычислительной техники
- 1.4. Хронология возникновения Интернета
- 1.5. Сферы использования вычислительной техники
- 1.6. Развитие отечественной вычислительной техники
- 2. Арифметические и логические основы работы эвм
- 2.1. Системы счисления
- 2.2. Арифметические основы работы эвм
- 2.3. Логические основы работы эвм
- 3. Организация данных в эвм
- 3.1. Представление данных в эвм
- 3.2. Представление команд в эвм
- 3.3. Кодовая таблица
- 3.4. Файловая система
- 4. Аппаратные средства
- 4.1. Структурная схема эвм
- 4.2. Принцип действия основных устройств эвм
- 4.2.1. История развития процессоров
- 4.2.2. Принцип действия процессора
- 4.2.3. Память
- 4.2.3.1. Оперативная память
- 4.2.3.2. Внешние запоминающие устройства
- 4.2.4. Устройства ввода информации
- 4.2.5. Устройства вывода информации
- 4.3. Классификация эвм
- 5. Системное программное обеспечение
- 5.1. Понятие об операционной системе
- 5.2. Методы архивации
- 5.3. Принципы сжатия информации
- 5.4. Вирусы и антивирусные программы
- 5.5. Основные понятия программирования
- 5.5.1. Языки программирования
- 5.5.2. Основные свойства и способы представления алгоритма
- 5.5.3. Базовые структуры программирования
- 5.5.4.VisualBasic– основные сведения*
- 6. Прикладное программное обеспечение
- 6.1. Текстовые редакторы
- К. Прутков
- 6.2. Графические редакторы
- 6.3. Электронные таблицы
- 6.4. Базы данных
- 6.5. Искусственный интеллект
- 6.6. Экспертные системы
- 6.7. Мультимедиа
- 6.8. Виртуальная реальность
- 6.9. Системы автоматизированного проектирования
- 7. Основные понятия моделирования
- 7.1. Основные понятия и определения моделирования
- 7.2. Обзор систем моделирования рэу
- 7.3. СистемаElectronicsWorkbench
- 7.4. Система CircuitMaker
- 7.5. СистемаMicro-Cap
- 8. Математические и статистические системы
- 8.1. Обзор математических и статистических систем
- 8.2. Математическая системаMathcad
- 8.2.1. Пользовательский интерфейс
- 8.2.2. Компьютерная алгебра
- 8.2.3. Операции с комплексными числами
- 8.2.4. Вопросы программирования
- 8.3. Аппроксимация с помощью пакетов тсwiNи тс 3d
- 9. Сетевые информационные технологии
- 9.1. Локальные сети
- 9.2. Глобальные сети
- 9.3. Браузеры
- 9.4. Поисковые системы и каталоги
- 9.5. Электронная почта
- Фильтры для приходящей почты
- 9.6. Введение вHtml
- Html – язык для создания Web-страниц
- 9.7. Основные понятияWeb-дизайна
- 9.7.1. Теоретические основыWeb-дизайна
- 9.7.2. Сетевые технологииWeb-дизайна
- 9.7.5. Понятие о баннерах
- 9.7.4. Инструментальные средстваWeb-дизайна
- 9.8. Основные понятия криптографии и стеганографии
- 9.8.1. Шифрование сообщений различными методами
- 9.8.2. Криптографическая система с открытым ключом
- 9.8.3. Понятие о стеганографии
- 10. Компьютер и здоровье
- 11. Перспективы развития вычислительной техники
- Заключение
- 12. Приложения Глоссарий
- Список аббревиатур
- Список литературы
- Содержание
- 7. Основные понятия моделирования 150
- 8. Математические и статистические системы 179
- 9. Сетевые информационные технологии 201
- 10. Компьютер и здоровье 268
- 11. Перспективы развития вычислительной техники 273
- 12. Приложения 277