Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная арифметика и алгоритмическое модел...doc
Скачиваний:
101
Добавлен:
10.11.2019
Размер:
2.93 Mб
Скачать

Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования

“Омский государственный технический университет”

В.И. Потапов, О.П. Шафеева

Компьютерная арифметика и алгоритмическое моделирование арифметических операций

Учебное пособие

Рекомендовано учебно-методическим объединением вузов по университетскому политехническому образованию в качестве учебного пособия для студентов, обучающихся по направлению 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