Файл: Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.07.2024

Просмотров: 86

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Определим границы диапазона чисел, с которыми может опери­

ровать ЦВМ с разрядной сеткой, изображенной на рис.

1.

Максимальное положительное число,

которое

можно

записать

в машине, равно

 

 

 

 

 

 

1

...........1 , 1 1

. . . .

1 =

10

. . . . 0

,

 

 

т цифр

п цифр

 

 

( т + 1) цифр

 

 

0

...........0 —0,

О . . . .

01

=

■2~п.

 

 

п цифр

л цифр

 

 

 

 

Минимальное положительное число, которое можно изобразить, равно

0 . . . . 00 , 00 . . . 01 = 2~п.

т цифр

п цифр

 

Общий диапазон чисел равен

 

 

2-,!< | М | < 2 т —2~п.

(2.1)

Разрядная сетка ЦВМ с фиксированной запятой с четырьмя раз­ рядами для хранения целой части и двенадцатью разрядами для хранения дробной части приведена на рис. 2.

 

Знак

Целая

часть

 

,

 

 

Дробная

часть

 

 

 

Номера

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

разрядов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2

Диапазон чисел, с которыми может оперировать ЦВМ, со­ гласно (2.1) будет равен

2_,2< | М | < 2 4— 2~12,

0,00024 < | N | < 16— 0,00024.

Пример 1. Записать в ячейке, приведенной на рис. 2, десятичное число -4- 15, 136:

+ 15, 13610= + 1111, 001 000 101 101.

Запись данного двоичного числа в ячейке памяти приведена на рис. 3.

0 0 1 0 0 0 1 0 1 1 0 1

Рис. 3

Пример 2. Записать в ячейке приведенное на рис. 2 десятичное число — 11,0941о:

— 11,094 = — 1011, 000 НО 000 001.

27


Запись данного двоичного числа в ячейке памяти приведена на рис. 4.

1

1

0

1

1

0

0

0

1

1

0

0

0

0

0

0

1

Рис. 4

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

N i =

12 — = 1100,001,

 

8

М2=

5 =0101,000,

N 1-Ni = 1100,001 • 0101,000 = 111100,101.

Поскольку для целой части отведено только четыре разряда, два старших разряда будут потеряны, а результат искажен. Поэ­ тому в машинах с фиксированной запятой все величины, участвую­ щие в вычислениях, необходимо заранее умножать на масштабные коэффициенты, величина которых должна быть подобрана с таким расчетом, чтобы в процессе решения задачи никакие арифметиче­ ские операции не вызывали переполнения.

Для облегчения подбора масштабных коэффициентов запятая

обычно фиксируется перед

старшим

цифровым разрядом числа,

т. е. сразу после знакового

разряда

[рис. 5]. При этом все числа

в машине будут по модулю меньше единицы, т. е. правильными дро­ бями. Фиксация запятой перед старшим разрядом удобна тем, что при умножении двух чисел произведение всегда будет меньше еди­ ницы и, следовательно, не выйдет за пределы разрядной сетки. Диа­ пазон чисел в таких машинах сравнительно невелик. Если для дробной части отведено п разрядов, то

2 ~ " < |М |< 1 - 2 “ "

 

Знак

 

 

Дробная

часть

 

Номера

0

1

.2

3

4

5

п

разрядов

 

 

 

 

 

 

 

Веса

2—1

2—2

2 - 3

2- 4

2“ 5

2-п

разрядов

 

 

 

 

 

 

 

 

 

 

Рис.

5

 

 

 

28


Нормальная форма представления чисел

При нормальной форме представления чисел любое число N за­ писывается в виде произведения двух сомножителей

N = N g\0p,

где 10 — основание системы, р — порядок чисел,

АД — мантисса числа, удовлетворяющая условию 0<Д ЛД| < 4 . Например,

АД = 18,37410 = 0,18374 • 102,

М2 = 0,0005751п = 0,575 • Ю- 3 ,

7V3 = — 10111,0012 = — 0,10111001 • Ю101,

Л74 = 0,001 112 = 0,111 • 10_1°.

Как видно, запись числа в нормальной форме не определяется однозначно, поскольку справедливы и другие записи

7VX= 18,37410 = 0,018374-103,

АД = 0,0005751о = 0,0575-10“ 2,

АД = — 10111,0012 = —0,010111001 • Ю110,

yv4 = 0,001112 = 0,0111-10_1.

Если в старшем разряде (после запятой) мантиссы АД стоит зна­ чащая цифра, т. е. цифра, отличная от нуля, то число N называют нормализованным. В этом случае запись числа в нормальной форме определяется однозначно. Мантисса нормализованного числа должна удовлетворять условию

где 10 — основание системы. Для двоичной системы

Y < l ^ o | < l -

(2.2)

Для десятичной системы

0,1 С | А70)< 1 .

(2.3)

Если условие (2.1) не выполняется, числа называют ненорма­ лизованными. Числа — 0,1239-102; 0,999-10~3; — 0,1000001 • 10+ш

0,11111111 • 10~100 являются нормализованными, поскольку они удовлетворяют условию (2.1). Числа 0,0137• 103; — 0,0101111110п °,

0,00011 • 10 011 являются ненормализованными, поскольку они не удовлетворяют условию (2.1). Все арифметические действия в ма­ шинах, как правило, выполняются только над нормализованными числами.

29


Нормализация

чисел в машине производится

автоматически

в ходе вычислений,

либо по специальным командам.

Нормализация

заключается в том, что мантиссу ненормализованного числа сдви­ гают влево на столько разрядов, сколько нулей в мантиссе до пер­ вой значащей цифры, в результате чего первая значащая цифра запишется в старший цифровой разряд. Одновременно от порядка числа отнимают число, равное количеству произведенных сдвигов.

Например, ненормализованное число

= 0,00000011111 ПО010.

110нулей

врезультате нормализации будет иметь вид

= 0, 11111■ 10°1(>- ио - 0,1 1111•ю -100.

Как видно из примеров, порядок числа, записанного в нормаль­ ной форме, показывает положение запятой, если число N изобра­ жается набором цифр дробной части числа.

Положительный порядок показывает номер того разряда ман­ тиссы, после которой в записи числа стоит запятая.

Например, в числе 0,1110 111-10110 порядок р == ПО (610), поэ­ тому

0 ,11Ю 11Ы011011.1011,1 .

ПО цифр

Отрицательный порядок показывает количество нулей между запятой и старшим цифровым разрядом мантиссы

Например, в числе 0,10101111- Ю~101 порядок р — — 101 (— 510),

поэтому

0,10101111 - Ю~101 = 0,0000010101111 .

101 нулей

В зависимости от величины порядка будет меняться и положе­ ние запятой, поэтому ЦВМ с нормальной формой представления чисел называют машинами с плавающей запятой. Разрядная сетка или ячейка памяти ЦВМ с плавающей запятой приведена на рис. 6.

Знак числа

 

Мантисса

 

 

Указатель

положения

запятой

Номера

0

4

п

п

п + 2

п + 3

п-\-т

разрядов

 

 

 

 

 

 

 

 

 

 

 

АI

Порядок

 

 

 

 

Знак

 

 

 

 

порядка

 

 

 

 

 

 

Рис.

6

 

 

 

30


Знаковые разряды мантиссы и порядка изображаются так же, как и в машинах с фиксированной запятой. Положительный знак изображается цифрой 0, отрицательный— цифрой 1. Знак ман­ тиссы определяет знак всего числа.

На рис. 6 для изображения абсолютной величины мантиссы отведено (п—1) разрядов, для изображения абсолютной величины порядка — т разрядов. Подсчитаем границы диапазона чисел, с которыми может оперировать ЦВМ с плавающей запятой. Макси­ мальное положительное число, которое можно записать в машине, будет равно

 

 

т цифр

 

 

 

0,11

. . .

1 Ы 0 1Т_:_'1= [ 1 - 2 - (л“ 1)]-22т~ '.

(2.4)

л—1 цифр

 

 

 

Минимальное нормализованное число, представимое в машине,

будет

 

т цифр

 

 

 

 

 

 

 

 

0,100

. . .

0 .ю 'ГТГ:^

= 2 - 1.2 - 2т+1 = 1Г2'П.

 

Общий диапазон чисел, представимых в машинах с плавающей

запятой в разрядной

сетке (рис. 6), характеризуется неравенством

 

2 - 2m< | M | < [1—2 ~ {п~ 1)] 22'" - 1.

(2.5)

В современных вычислительных машинах для изображения по­

рядка используется от 6 и более разрядов,

а для изображения ман­

тиссы от 30 и более разрядов.

машину

с плавающей

запятой,

Рассмотрим

вычислительную

у которой п—1 — 12, т — 4. Разрядная сетка такой ЦВМ приве­ дена на рис-. 7.

 

 

 

Указатель

 

Мантисса

положения

запятой

Номера

0

10 Н 121 13

14 15

16 17

разрядов

 

 

 

 

t

А ________ ____

 

Знак

Порядок

 

Знак

мантиссы

порядка

 

 

(число)

7

 

 

 

Рис.

 

 

Диапазон чисел, с которыми может оперировать УВМ с плаваю­ щей запятой, равен

2 - 24< | i V | < ( l - 2 - 12).2 24- \ 2~16< | М |< (1—2_12)-215,

0,00002 < | N | < (1 — 0,00024) 32768.

31