- •Компьютерная арифметика и алгоритмическое моделирование арифметических операций
- •Введение
- •Глава 4, подготовленная доцентом о.П. Шафеевой, посвящена вопросам разработки алгоритмических моделей выполнения арифметических операций и моделирования на пэвм спроектированных алгоритмов.
- •Основы двоичной компьютерной арифметики
- •1.1. Позиционные системы счисления
- •Десятичная позиционная система счисления
- •Двоичная позиционная система счисления
- •1.1.3. Восьмеричная позиционная система счисления
- •1.1.4. Шестнадцатеричная позиционная система счисления
- •Перевод чисел из одной позиционной системы счисления в другую
- •1.2.1. Перевод целых чисел
- •1.2.2. Перевод правильных дробей
- •1.2.3. Перевод неправильных дробей из одной системы счисления в другую
- •1.2.4. Частный случай перевода чисел из одной системы счисления в другую
- •1.2.5. Перевод чисел из одной системы счисления в другую с использованием промежуточной двоично-десятичной системы
- •1.3. Представление чисел с фиксированной запятой (точкой)
- •1.4. Представление чисел с плавающей запятой (точкой)
- •1.5. Коды двоичных чисел
- •1.5.1. Прямой код
- •1.5.2. Обратный код
- •1.5.3. Модифицированный обратный код
- •1.5.4. Дополнительный код
- •1.5.5. Модифицированный дополнительный код
- •2. Выполнение арифметических операций с двоичными числами
- •2.1. Сложение (вычитание) двоичных чисел с фиксированной запятой
- •2.1.1. Алгебраическое сложение чисел в дополнительном коде
- •2.1.2. Алгебраическое сложение чисел в обратном коде
- •2.1.3. Переполнение разрядной сетки при сложении чисел
- •2.2. Сложение (вычитание) двоичных чисел с плавающей запятой
- •2.2.1. Метод ускоренного сложения двоичных чисел с запоминанием переносов
- •2.3. Умножение двоичных чисел с фиксированной запятой
- •2.4. Машинные технологии выполнения операции умножения двоичных чисел с фиксированной запятой
- •2.5. Умножение двоичных чисел с плавающей запятой
- •2.6. Методы ускоренного выполнения операции умножения двоичных чисел
- •2.6.1. Метод пропуска такта суммирования
- •2.6.2. Метод анализа сомножителей
- •2.6.3. Метод расшифровки и одновременного умножения на два разряда множителя
- •2.6.4. Метод ускоренного умножения Мак-Сорли
- •2.6.5. Метод ускоренного умножения Лемана
- •2.6.6. Метод умножения с расшифровкой пар разрядов множителя и запоминанием переносов
- •2.7. Деление двоичных чисел с фиксированной запятой
- •2.8. Деление двоичных чисел с плавающей запятой
- •3. Основы десятичной компьютерной арифметики
- •3.1. Машинное кодирование десятичных чисел
- •3.2. Выполнение арифметических операций с десятичными числами
- •3.2.1. Сложение десятичных чисел в эвм
- •3.2.2. Умножение десятичных чисел в эвм
- •3.2.3. Ускорение умножения в -кодах
- •Деление десятичных чисел в эвм
- •4. Алгоритмические модели выполнения арифметических операций
- •4.1. Проектирование универсального алгоритма перевода чисел в разные системы счисления
- •4.2. Моделирование алгоритма сложения двоичных чисел
- •Различные случаи ненормализованных мантисс
- •4.3. Проектирование алгоритма умножения чисел
- •4.5. Проектирование алгоритма деления чисел
- •4.7. Разработка алгоритма вычисления квадратного корня
- •Компьютерная арифметика и алгоритмическое моделирование арифметических операций
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования
“Омский государственный технический университет”
В.И. Потапов, О.П. Шафеева
Компьютерная арифметика и алгоритмическое моделирование арифметических операций
Учебное пособие
Рекомендовано учебно-методическим объединением вузов по университетскому политехническому образованию в качестве учебного пособия для студентов, обучающихся по направлению 230100 «Информатика и вычислительная техника»
Омск– 2005
УДК 004.9(075)
ББК 32.973.202+22.12 я 73
П 64
Рецензенты:
С.А. Терентьев, канд. физ.-мат. наук, Омский государственный университет;
М.Ф. Шакиров, канд. техн. наук, Управление госнадзора за связью
и информацией РФ по Омской области;
А.М. Губарь, канд. техн. наук, Московский государственный технический
университет им. Н.Э. Баумана
Потапов В.И., Шафеева О.П.
П 64 Компьютерная арифметика и алгоритмическое моделирование
арифметических операций: Учеб. пособие. Омск: Изд-во ОмГТУ, 2005. 96 с.
ISBN 5-8149-0208-6
Изложены основы двоичной и десятичной компьютерной арифметики, алгоритмы выполнения арифметических операций в ЭВМ для двоичных чисел с фиксированной и плавающей запятой и для двоично-десятичных чисел в D-кодах. Рассмотрены методы ускорения выполнения основных арифметических операций в ЭВМ в двоичной и в двоично-десятичной системе счисления. Описаны алгоритмические модели выполнения арифметических операций и изложены методы их проектирования.
Предназначено для студентов направления «Информатика и вычислительная техника».
Печатается по решению редакционно-издательского совета Омского государственного технического университета.
УДК 004.9(075)
ББК 32.973.202+22.12я73
© Потапов В.И., Шафеева О.П., 2005
© Омский государственный
ISBN 5-8149-0208-6 технический университет, 2005
|
ОГЛАВЛЕНИЕ
|
|
|
Введение ……………………………………………………………………. |
5 |
1. |
Основы двоичной компьютерной арифметики ………………………. |
7 |
1.1. |
Позиционные системы счисления ……………………………………….... |
7 |
1.1.1. |
Десятичная позиционная система счисления …………………….………. |
8 |
1.1.2. |
Двоичная позиционная система счисления ……………………..………… |
8 |
1.1.3. |
Восьмеричная позиционная система счисления ………………………….. |
10 |
1.1.4. |
Шестнадцатеричная позиционная система счисления …………………… |
12 |
1.2. |
Перевод чисел из одной позиционной системы счисления в другую ...... |
14 |
1.2.1. |
Перевод целых чисел ……………………………………………………….. |
14 |
1.2.2. |
Перевод правильных дробей ……………………………………………….. |
17 |
1.2.3. |
Перевод неправильных дробей из одной системы счисления в другую…. |
19 |
1.2.4. |
Частный случай перевода чисел из одной системы счисления в другую... |
19 |
1.2.5. |
Перевод чисел из одной системы счисления в другую с использованием промежуточной двоично-десятичной системы …………………………… |
21 |
1.3. |
Представление чисел с фиксированной запятой (точкой) ……………….. |
24 |
1.4. |
Представление чисел с плавающей запятой (точкой) …………………..... |
25 |
1.5. |
Коды двоичных чисел ……………………………………………………..... |
26 |
1.5.1. |
Прямой код ………………………………………………………………….. |
27 |
1.5.2. |
Обратный код ……………………………………………………………….. |
27 |
1.5.3. |
Модифицированный обратный код ………………………………………... |
28 |
1.5.4. |
Дополнительный код ……………………………………………………….. |
29 |
1.5.5. |
Модифицированный дополнительный код ……………………………….. |
30 |
2. |
Выполнение арифметических операций с двоичными числами …..... |
30 |
2.1. |
Сложение (вычитание) двоичных чисел с фиксированной запятой …….. |
30 |
2.1.1. |
Алгебраическое сложение чисел в дополнительном коде ……………..... |
30 |
2.1.2. |
Алгебраическое сложение чисел в обратном коде ……………………….. |
31 |
2.1.3. |
Переполнение разрядной сетки при сложении чисел ………………….... |
32 |
2.2. |
Сложение (вычитание) двоичных чисел с плавающей запятой …………. |
33 |
2.2.1. |
Метод ускоренного сложения двоичных чисел с запоминанием переносов…………………………………………………………………….. |
36 |
2.3. |
Умножение двоичных чисел с фиксированной запятой ……………….... |
38 |
2.4. |
Машинные технологии выполнения операции умножения двоичных чисел с фиксированной запятой……………………………………………. |
39 |
2.5. |
Умножение двоичных чисел с плавающей запятой ……………………... |
43 |
2.6. |
Методы ускоренного выполнения операции умножения двоичных чисел ………………………………………………………………................. |
44 |
2.6.1. |
Метод пропуска такта суммирования ……………………………………... |
46 |
2.6.2. |
Метод анализа сомножителей ……………………………………………… |
47 |
2.6.3. |
Метод расшифровки и одновременного умножения на два разряда множителя …………………………………………………………………… |
47 |
2.6.4. |
Метод ускоренного умножения Мак-Сорли …………………………….... |
50 |
2.6.5. |
Метод ускоренного умножения Лемана …………………………………... |
52 |
2.6.6. |
Метод умножения с расшифровкой пар разрядов множителя и запоминанием переносов …………………………………………………… |
54 |
2.7. |
Деление двоичных чисел с фиксированной запятой ……………………... |
57 |
2.8. |
Деление двоичных чисел с плавающей запятой ………………………….. |
59 |
3. |
Основа десятичной компьютерной арифметики ……………………… |
62 |
3.1. |
Машинное кодирование десятичных чисел ………………………………. |
62 |
3.2. |
Выполнение арифметических операций с десятичными числами …….... |
65 |
3.2.1. |
Сложение десятичных чисел в ЭВМ …………………………………….... |
65 |
3.2.2. |
Умножение десятичных чисел в ЭВМ …………………………………….. |
67 |
3.2.3. |
Ускорение умножения в D-кодах ………………………………………….. |
69 |
3.2.4. |
Деление десятичных чисел в ЭВМ ………………………………………… |
71 |
4. |
Алгоритмические модели выполнения арифметических операций… |
75 |
4.1. |
Проектирование универсального алгоритма перевода чисел в разные системы счисления ………………………………………………………….. |
75 |
4.2. |
Моделирование алгоритма сложения двоичных чисел .………………...... |
77 |
4.3. |
Проектирование алгоритма умножения чисел …………………………..... |
80 |
4.4. |
Разработка алгоритма ускоренного умножения с обработкой за один такт трех разрядов множителя ……………………………………………... |
82 |
4.5. |
Проектирование алгоритма деления чисел ………………………………. |
86 |
4.6. |
Разработка алгоритма ускоренного выполнения операции деления с анализом за один такт двух разрядов делителя …………………………… |
89 |
4.7. |
Разработка алгоритма вычисления квадратного корня …………………... |
90 |
|
Библиографический список……………………………………………….. ... |
95 |