Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Семененко В.А. Вычислительная техника в инженерных и экономических расчетах учеб. пособие для студентов всех специальностей

.pdf
Скачиваний:
5
Добавлен:
23.10.2023
Размер:
8.7 Mб
Скачать

Вычислим у для значения х = 20;

 

 

5-20 + 10

ПО

 

У =

 

= 55.

 

Для машины

0,50,2 + 0,010

 

Ум = ам• -*М~Ь 5м

: 0,55.

 

0.2

см

 

 

В машинах с фиксированной запятой ограничен диапазон чисел, с которыми оперирует машина. Если разрядная сетка содержит 16 разрядов (рис. 2—2), то этот диапазон заклю­ чен в пределах:

0 ,0 0 ...0 ,1 < |іѴ |< 0 ,1 1 ...1 1

или 2 -15< | ^ | < 1 —2~1Б,

или 2_16<|УѴ| < 1.

Если при выполнении операций на машине с фиксирован­ ной запятой получим результат меньше минимально возмож­ ного, то это число рассматривается как машинный нуль. Если результат получился больше максимально возможного (боль­ ше или равен 1), то происходит переполнение разрядной сетки и останов машины.

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

Представление чисел с плавающей запятой в полулогарифмической форме

Числа в машинах с плавающей запятой

представляются ■

в виде

 

N = S P -M,

(2 -4)

где:

 

S —"основание системы счисления,

 

Р — порядок числа N,

 

М — мантисса числа N.

 

Если —— < М < 1 , то число N называется

нормализован-

iS

 

ным. Условия нормализации:

 

1) мантисса числа N по модулю должна быть меньше

единицы;

 

2) первая цифра после запятой должна

быть значимой,

т. е. не быть нулем.

 

100

Полулогарифмическую форму с выполненными условиями нормализации называют нормальной полулогарифмической формой.

Пример 1. Представить десятичные числа 13,5 и 135 в нормальной полулогарифмической форме:

JV I ='13‘

5

или

N f =

0,135 ІО2;

tf3 = 1 3

5

или

#2 =

0,135 • Ю3.

В двоичной системе счисления формула (2—4) имеет вид:

N = 2 P - M ,

(2—5)

где 2~l < M < 1.

Разрядная сетка машины с плавающей запятой

Рассмотрим 45-разрядную схему (рис. 2—3) машины с плавающей залитой.

С 1 по 36 разряды— двоичные разряды для представле­ ния мантиссы числа.

Ѳ Ѳ Ѳ Г *

Чі ЧС 3J щ

X 5S 54

3 2 І

 

 

 

 

V .

 

1

J

 

Г

 

 

 

 

 

LЗнакпорядокпорядка

пантисса

 

 

 

 

 

Знак

числа

 

 

 

 

 

 

 

признак числа

 

 

 

 

 

Рис. 2—3. 45-разрядная

сетка

машины

с плавающей

 

 

 

 

 

 

запятой

 

 

 

 

 

С 37 по 42—(разряды — двоичные разряды представления

порядка числа. 43 разряд кодирует знак порядка.

Отсюда

диапазон представимых чисел:

 

 

 

 

 

 

 

 

2_84 < \ N \ <

2+63

 

 

 

 

 

или

10-19< |W |<

10+19.

 

 

 

 

44 разряд кодирует знак числа.

 

используемый

для

45 разряд кодирует признак числа,

разграничения групп чисел.

 

 

 

 

число,

Если в результате выполнения операции получено

большее

максмально

возможного

(>-2+вз), то происходит

останов

машины по

переполнениюразрядной

сетки.

Если

полученный

результат

меньше

минимально

возможного

(< 2“64), то

получается

машинный

нуль- (т. е.. числа,

меньше

2-64 воспринимаются машиной как нуль).

 

 

больший

В машинах с плавающей запятой значительно

диапазон чисел, с которыми может работать машина, нежели

101

в машинах с фиксированной занятой при том же числе раз­ рядов.

Точность представления больших и малых чисел одина­ кова. Числа представляются с одинаковой относительной по­

грешностью.

и средние ЦВМ

конструируются

с плавающей

Большие

запятой. Число разрядов обычно кратно 8. 8 бит *

называют­

ся байтом. Например, слово

машины IBM

360

содержит

32 разряда

(4 байта), двойное

слово — 64 разряда.

 

§1—8. Представление отрицательных чисел в машине

Знаки ± кодируются с помощью 0 и 1.0 соответствует зна­ ку +, 1—'знаку— (или наоборот). .Операции над знаками сводятся, таким образом, к операциям над числами 0 и 1.

При умножении (делении) двух чисел знак произведения (частного) будет положительным, если оба сомножителя (делимое и делитель) положительны или отрицательны, и отрицательным, если сомножители (делимое и делитель) име­ ют разные знаки.

При принятом нами

представлении операции

над

знаками сводятся

к операциям сложения знаков двух чисел:

 

 

 

 

 

Умножение

 

 

 

 

 

 

 

 

 

Знак

результата

 

 

 

 

 

 

 

 

 

 

 

1

 

(деление)

1. Оба

числа

 

положи­

0 + 0

=

Y

 

 

0 Результ. полож.

 

 

тельны

(знак

первого

 

 

 

 

 

 

 

числа «0», знак

вто­

 

 

 

 

 

 

 

рого числа

«0»).

 

 

 

Знак результата

 

 

 

 

 

 

 

 

 

 

 

 

2, Первое

число

отри-

t +

0 = l'

Результ, отриц.

 

j■

цательно (знак

пер­

 

 

 

 

 

 

 

вого

числа

«1», знак

 

 

 

 

 

 

 

второго

числа

«0»),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак' результата

 

3.

Второе число отрица­

0 + 1

=

1

Результ. отриц.

 

 

тельно

(знак

перво­

 

 

 

 

 

 

 

го числа

«0»,

знак

 

 

 

 

 

 

 

второго числа «1»),

 

 

 

Знак результата

 

 

 

 

 

 

 

 

 

 

 

 

4.

Оба

числа

отрица­

1+

 

 

1

 

 

1, = о Результ, полож.

 

 

тельны

(знак первого

 

 

 

 

 

 

 

числа «1», знак вто­

 

 

 

 

 

 

 

рого

числа

«1»).

 

 

 

 

 

Полученную

в четвертом

случае единицу переноса не учитывают.

* Бит — это единица информации, т. е. 1 или 0.

 

 

 

 

102

§ 1— 9. С п о с о б ы

к о д и р о в ан и я

чисел с уч ето м

зн а к а

 

Будем

рассматривать способы

кодирования

только

для

чисел, по

абсолютной

величине меньших единицы, так

как

любое другое число можно представить, согласно формуле (2—5), в виде мантиссы (по абсолютной величине, меньшей

единицы) и целой степени двойки.

 

числа в прямом коде

П р я м о й

код.

При кодировании

его цифровая

часть

записывается

без

изменений, а

знаку

числа приписывается 0 (если число положительное)

или 1

(если число отрицательное). О и 1

записываются

в знаковом

разряде разрядной сетки на месте нуля целых.

 

 

Пример 1. N t — 0,101, Ni = — 0,101.

Закодировать эти

числа

с уче­

том знака в прямом коде.

 

 

 

 

 

 

 

Nt= ОДОІ1

[/Ѵ,]пр=

ОДШ;

 

 

 

 

iVs=-0;101

[tf*]np=l,mi;

 

 

]іѴ]пр означает, что число N представлено в прямом коде.

Обратный [N]o6p и дополнительный|УѴ]допкоды вводятся для представления отрицательных чисел в машине, что позволя­ ет заменить операцию вычитания операцией сложения и та­ ким образом существенно упростить конструкцию арифмети­ ческого устройства. Положительные числа в прямом, обрат­ ном и дополнительном кодах совпадают (по определению). Для представления отрицательного числа в обратном коде ■необходимо в разряде знаков поставить 1, все нули этого кода заменить на единицы, а единицы — на нули. Чтобы полу­ чить дополнительный код отрицательного числа, нужно к младшему разряду обратного кода этого числа прибавить единицу.

Пример 2. Представить числа Л', = 0,M ill и N2 = — 0,11111 в прямом, обратном и дополнительном кодах.

Щ ]п р = [ЛГ,]обр — [^і]доп = 0,111М;

[ЛГ2[пр = 1,11111; [Л^з]обр ^ 1,00000;

[ЛГ2]доп =' 1,00001.

Пример 3. Представить число — 12 в прямом, обратном и дополни­ тельном коде.

112,0 = — Ш002 = — ОДіЮО.Ю100.

Таким образом:

1

 

II а с

0

 

о

 

 

О

[— И2]обр

=

0

100

1

? с

II с

0

S

 

 

 

 

t

t

 

 

 

 

1

1

 

 

 

 

1

1

 

 

 

 

1

порядок

 

 

 

 

знак порядка

,1100

 

ООП

li

0100

ч t

t

1мантисса

'знак мантиссы

ЮЗ

Модифицированный обратный и дополнительный коды

В модифицированном

обратном

и дополнительном коде

на изображение

знака отводится два .разряда, а числа пере­

водятся по тем

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

дополнительном коде.

 

 

Пример 4. N = — 0,1001;

№ р =

11,0110

п = 11.0111

Ввычислительной машине арифметические операции над числами обычно выполняются в 'модифицированных кодах.

§1 —10. Арифметические действия над двоичными числами

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

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

Сложение и вычитание чисел с фиксированной запятой

Пример 1. Сложить числа 0,01000 и 0,01010

0,01000

+

0,01010

0,10010

Пример 2. Сложить числа 0,011110 и 0,001110.

0,01' Ы О

+

0,001110

0,10100

Если в результате сложения двух чисел результат превы­ шает единицу, то происходит переполнение разрядной сетки

(останов машины).

 

производить

в следующих

В ы ч и т а н и е чисел следует

случаях:

операции

«сложение»

при разных

знаках чисел;

1)

при

2)

при

операции

«вычитание» при одинаковых знаках чи­

сел.

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

104

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

Пример 3. Сложить числа /1 = 0,10010 и В = — 0,01010 в обратном и дополнительном модифицированных кодах.

№ р = 11-10101,

] В ] “ 0П11,101110.

При обычном вычитании получим:

 

0,10010

 

 

 

0,01010

 

 

 

 

0,01000

 

При сложении

При сложении

в обратном коде

в дополнительном коде

 

0 0 ,1 0 0 1 0

“Ь

0 0 ,1 0 0 1 0

 

+

 

111,10110

 

11,10101

 

 

100,00111

1

00,01000

 

+

 

t

 

 

 

 

 

 

---------- -> 1

отбрасываем

 

00,01000

 

 

Пример 4.

Из

А = 0,01010

вычесть число В = 0,10010.

[-ß]"6p =11,01101

[— В]доп = 11,01110.

При обычном вычитании

При сложном

 

 

 

в' обратном коде

 

 

0,01010

00,01010

 

 

0,1.0010

+

 

 

 

ІіГ.ШЧШ

 

-

0,01000

11,10111

 

 

I

 

 

[А/]пр =• 1,01.000.

Переводим число 11,ЮПИ в

 

 

 

прямой код:

11,01000.

Вычитание в дополнительном коде

00,01010

+

11,01110

ИДИ000

Переводим число 11,1:1000 в прямой код. Для этого сначала число 11,11000 переводим в обратный код 11,00111, затем прибавляем единицу к младшему разряду этого кода. Получим 1І1Д1000.

105

Сложение и вычитание чисел с плавающей запятой

Последовательность выполнения операций сложения (вычитания):

1.Определение разности порядков.

2.Выравнивание порядков.

3.Сложение или вычитание мантисс чисел.

4.Нормализация результата.

5.Округление результата.

Пример 1. Найти сумму чисел А = О,MOL10101 и В = ОДЮ1.1011 и округлить ее до пяти двоичных'разрядов.

1.Определение разности порядков:

101 — 11 = 10.

2.Выравнивание порядков.

Мантиссу второго (меньшего) числа сдвигаем вправо на два разряда.' Тогда

В= 0,00110.10101.

3.Сложение мантисс чисел:

0,11010

+

0,001110

,1,00000

4.Нормализация результата.

Так как выход из нормализации произошел влево, сдвигаем число вправо на один разряд, соответственно увеличив порядок:

0,10000.10110.

Пример 2. Сложить ненормализованные числа А = 0,00001.10° и

В= 0,00011.40°.

1.Так как порядки чисел равны, то определение разности порядков и выравнивание порядков производить не нужно.

2.Сложение мантисс чисел:

0,00001

+

0,00011

0,00100.

3.Нормализация результата.

Для нормализации результата в данном случае нужно произвести сдвиг влево полученной суммы на два разряда. Получим

А + В = 0,10000.10-1°

Пример 3. Определить

разность

чисел

А = 0,1101.ІО101

и

В= 0,1100.10ой.

1.Выравнивание порядков: 101— 011 = 10. Следовательно,

В= О.ООіП.Ю101.

2.Вычитание мантисс чисел (в обратном коде): [-ß]Ö6p = 14,Ы00

106

00,1101

+ 1.1,1100

1 00,1ОШ

+

1

00,1010

3.Результат 00,1010.10101 получился нормализованным.

Умножение и деление

Умножение (деление) чисел производится в прямом коде. Знак произведения (частного) определяется .путем суммиро­ вания знаковых разрядов сомножителей (делимого и делите­ ля, § 1—8).

Умножение и деление чисел с фиксированной запятой

Порядок выполнения операции умножения:

1.Определение знака произведения.

2.Перемножение мантисс по обычным правилам ариф-

,метики и округление.

Пример I. Перемножить числа Л = 0,1101 и В 0,1011.

1. Определение знака произведения.

Знак первого числа 0 (число положительно).

Знак второго числа 0

(число положительно).

0 + 0 =

0 (знак произведения + ).

2. Перемножение мантисс:

0,1101

+

0,1011

1101

1101

0000

+

1101

0,10001111

3. Округление результата до пяти двоичных разрядов:

0,10010.

Пример 2. Перемножить числа А = ОДіЮГи В = — 0,1011. [ß]np= 1,1011.

 

Знак

первого числа 0.

 

 

Знак

второго числа 1.

 

 

Знак произведения 0 + 1 =

1.

<•

[Л .В ]Пр = 1,10010 (см. пример

1).

107

Порядок выполнения операции деления в машине

сфиксированной запятой

1.Определение знака частного.

2.Деление мантисс по обычным правилам арифметики (делимое должно быть меньше делителя, иначе произойдет

останов машины).

Пример I. Разделить А = 0,101 на В = — 0,111.

Знак первого числа 0. Знак второго числа 1. Знак частного 0 +! 1 = 1.

Так как при определении остатка операция вычитания заменяется операцией сложения в обратном или дополнительном коде, то в машине деление выполняется следующим образом:

(дополн. код

 

0,1010

I

0,111

числа ОШ)

+

1001

 

0 .1011...

 

 

 

+

001100

 

 

 

111001

 

(дополн. код. числа 000111)

 

 

 

 

+

0001010 .

 

 

1111001

 

(дополн. код числа 0000МП)

 

 

 

 

 

0000011

 

и т. д.

 

 

 

 

Умножение и деление чисел с плавающей запятой

Порядок выполнения операции умножения:

1.Определение знака произведения.

2.Определение порядка произведения путем суммирова­

ния порядков сомножителей.

3. Перемножение мантисс сомножителей (как в машинах

сфиксированной запятой).

4.Нормализация (если она необходима) и округление результата.

Порядок выполнения операции деления:

1.Определение знака частного.

2.Определение порядка частного как разности порядков делимого и делителя.

3."Деление мантисс по обычным правилам.

Пример 1. На

машине с

плавающей запятой перемножить числа

А = 15,2 и В = 4,5.

 

двоичную систему счисления, получим:

Переводя числа А и В в

1 5,25 = 1111,01

4,5 = 100,1

или в нормализованном виде

А= 0,1525-ІО2 = 0,111101 • ІО100

В= 0,45 - 10‘ = 0,1001 10011

.108

порядок произведения-равен 100+1011 = 111. Перемножение мантисс:

О.Ы'ПО 1

4*

0,100 1

1Н101

оооооо

+000000'

. _____ umоі

0,1000100101

Округляя результат с точностью до пяти двоичных разрядов, получим: А.В = 0,10001 • 10111

ГЛАВА 2

ЛОГИЧЕСКИЕ ОСНОВЫ ЦВМ

§ 2—1. Основные понятия алгебры — логики

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

Алгебра логики имеет дело с высказываниями. Высказы­ ванием называется любое утверждение, о котором мы можем точно сказать, истинно оно или ложно. Истинное высказыва­ ние условно обозначают 1, ложное — 0. Таким образом, лю­ бая переменная в алгебре логики может принимать только два значения: 0 или 1. Рассмотрим основные операции над логическими .переменными. При этом простые высказывания мы будем обозначать буквой X, а сложные высказывания, которые зависят от простых, —(буквой f .

§ 2—2. Основные логические связи между высказываниями

«Отрицание»

Функция / —'X называется функцией отрицания, или про­ сто отрицанием (f = X читается: f_ равно не X). Построим таблицу 3 связи для функции f ='Х. Так как высказывание X

может

быть

или 0 или

1

( А = 0 — высказывание

ложно,

X =' 1 — высказывание

истинно),

то

для

случая,

когда

X = 0,

X — 1,

и наоборот,

когда X =і 1, X =

0.

 

 

 

 

 

Т а б л и ц а

3

 

 

 

 

X

 

/ =

*

 

 

 

 

 

0

 

1

 

 

 

 

 

 

1

 

0

 

 

 

 

109

Соседние файлы в папке книги из ГПНТБ