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

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

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

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

Добавлен: 09.07.2024

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

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

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

Пример 16.

* = 0,11101 = —

32

и= 0,00111 = —

у__________32

*+ у = 1,00100

Если * < 0 , у < 0, |*

+

у \ > 1 ,

то признаком переполнения яв­

ляется наличие цифры 0 в знаковом разряде.

 

Пример 17.

 

 

 

 

* = -0 ,1 0 0 0 1 =

,

[*]доп= 1,01111 = — -Ц-

у = -0,10011 =

 

 

[r/W = 1,01101 = — §

 

 

и

+ г/]Доп = 0,11100

Пример 18.

 

 

 

 

* = - 0 ,1 0 1 0 1 = — ^

[*]овр=

1.01010

 

 

oZ

 

 

У= —0,01101 = —

[у]обр= 1,10010

 

 

 

 

10,11100

 

 

 

[*-f-(/Jogp =

0,11101

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

Указанный способ сложен, так как требует запоминания знаков слагаемых и сравнение их со знаковым разрядом суммы.

При переполнении разрядной сетки модуль суммы удовлетво­ ряет неравенству

1 < \ х + у \ < 2 .

Это обстоятельство облегчает построение кодов, по виду кото­ рых можно определить переполнение разрядной сетки. Для этой цели в ЦВМ применяют модифицированные дополнительный и об­ ратный коды. В модифицированных кодах для изображения знака используются два знаковых разряда: положительные числа изобра­ жаются кодом 00, . . . , отрицательные числа — кодом ,1 1 ,...........

42


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

Если х — правильная двоичная дробь, положительная или от­ рицательная, то модифицированным дополнительным кодом числа

называют число [x]“on, получаемое по формуле

 

 

(

х,

если

х ^ О ,

 

 

 

Мдоп = { шо + л:,

если

х < 0 ,

(2Л9^

где

100

означает число 4.

отрицательного числа

используется

 

Для

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

код

11,

, поэтому в цифровых разрядах изображения отрица­

тельного числа записан код,

равный

 

 

 

100—0 1 1 + х = 1 —|* |,

т. е. дополнению абсолютного значения отрицательного числа до единицы.

Если х = -f 0, хгх2 . . . хп, то

[х]*оп=00, Xlx2 . . . хп.

(2.20)

Если х = —0, х±х2 . . . хп, то

Мдоп= 1 1 * ^ 2 • • • *«+ 10“ n,

(2-21)

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

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

Пример

19.

 

 

 

 

 

 

X= 0,1100001 =

97

 

[< о п =

00,110001 =

97

128

 

128

 

 

 

 

 

 

 

 

 

 

 

 

-0 ,1 0 0 0 0 0 1 =

65

 

 

11,011111 = -

63

у = ■

128

 

и С п =

 

 

128

 

 

 

 

 

х-\г у =

0,0100000 =

1

[* +

< о п = 100,010000 =

1

4

4

 

 

 

 

 

 

 

 

 

1Х+

У]доп =

00,01

=

J _

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 


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

Пример 20.

 

 

 

* = -0,0111101 = -

^

м ;„ „ = 11,1000011 = —g

У = -0,0001011 = -

Я

[» С 0=

11,1110101 = - ' Я

х-{-у = — 0,1001000=---- --

и + г/]д0П=

11Ь0111000 =

 

16

 

7

 

 

=

11,0111 = ------- -

 

 

 

16

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

Как видим из приведенных примеров, признаком отсутствия переполнения разрядной сетки является совпадение цифр в знако­ вых разрядах двоек и единиц, т. е. комбинация цифр 00 и 11. При­ знаком переполнения является несовпадение цифр в знаковых раз­ рядах двоек и единиц, т. е. комбинации 10 и 01, причем комбина­ ция 01 свидетельствует о переполнении при сложении положитель­ ных чисел, а комбинация 10 — отрицательных.

Пример 21.

 

 

 

х = 0,0100001 =

_33

[х)м

=00,0100001 = —

 

128

доп

128

«/= 0,1100101 =

101

1у]”оп = 00,1100101 = 101

 

128

1х +у £

128

Х ~\~У

 

: 01,0000110

Комбинация 01 в знаковых разрядах свидетельствует о пере­ полнении разрядной сетки при сложении положительных чисел.

Пример 22.

99

х = —0,1100011 =

128

69

г/ = —0,1000101 =

128

I Х ~\~У|

> 1

[ < пп =

ОО

о

II

29

128

 

 

 

 

г тМ

 

 

 

_ 59

[у]л^ == 11,0111011 =

128

 

 

 

 

[* + i C = 110,1011000 =

=10,1011

Комбинация 10 в знаковых разрядах свидетельствует о переполне­ нии разрядной сетки при сложении отрицательных чисел.

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

44


Модифицированный обратный код

Если х — правильная двоичная дробь, положительная или от­ рицательная, то модифицированным обратным кодом называют код

[л;]обр, получаемый по следующей формуле:

м

|

х,

если

х +

О,

^°бр

( 100— 10~" + х,

если

х +

(2. 22)

0,

где п — число разрядов дробной части, 100 — изображает число 4.

Если х = 0, хгх2х3 . . . хп, то

1*С$р = 00’ *1 *2 *3 • • • *„•

Если х — —0, XiX2x3 . . . хп, то

1*10бр = 11. ^1 х2х3 . . . хп,

(2.23)

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

Доказательство формулы (2.22) аналогично доказательству фор­ мулы (2.17) для обычного обратного кода. Суммирование чисел в мо­ дифицированном обратном коде аналогично суммированию в обыч­ ном обратном коде. При появлении единицы переноса левее знако­ вых разрядов ее необходимо прибавить к младшему разряду резуль­ тата, т. е. осуществить циклический перенос. Результат суммиро­ вания получится в модифицированном прямом коде, если сумма положительна, и в модифицированном обратном коде, если сумма отрицательна.

Пример 23.

х = +0,1001001 =

 

[ < бр=

00,1001001

 

 

128

 

 

 

у = — 0,0001111 = ——

 

[ < бр=

11,1110000

*

_________

128

 

 

 

х + г/ = +0,0111010= + —

[* +

< б Р =

100-0 1 11001

 

 

 

 

 

 

___________1-.... -> 1

 

 

 

+у ]"бр=

0 0 ,0 1110 10 = + Ц -

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

45


Пример 24.

х — --0,0011111

=

— —

1 < бр =

11,1100000

 

 

128

 

 

У= --0,0101101

= ——

[ < 6 р =

11,1010010

 

 

128

 

 

х + у = - -0,1001100 =

-

 

111,0110010

 

 

32

 

 

 

 

 

[х + у]ыобр=

11,0110011

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

Пример 25.

* = 0,1010001 = —

М “б =00,1010001

 

128

"

 

у = 0,0110001 = i i

Л р =

00,0110001

 

128

____________________

Х+ У

> Г “

[* + < бр =

01,0000010

Комбинация 01 в знаковых разрядах свидетельствует о пере­ полнении разрядной сетки при сложении положительных чисел.

Пример 26.

* = —0,1111001 =

— 1 |

[ < бр =

11,0000110

У= —0,0010001 =

—^

[ < бр =

11,1101110

\х + у\

> 1

 

110,1110100

 

 

__________ 1

- 1

 

 

[ х + у ]0ибр=

10,1110101

Комбинация цифр 10 в знаковом разряде свидетельствует о переполнении разрядной сетки при сложении отрицательных чисел.