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



Число Х в модифицированном дополнительном коде обозначается [Х]мдоп. Числа переводятся в этот код так же, как и в дополнительный, но на изображение знака отводится два разряда.

 

Пример. Х = -0,101110101; [Х]мобр = 11,010001011.

Сложение чисел в дополнительном коде

Дополнительные коды чисел складываются поразрядно, причем знаковые разряды складываются как разряды целых чисел. Особенность сложения дополнительных кодов состоит в том, что единица переноса, образующаяся при сложении знаковых разрядов, не учитывается, т. е. теряется.

Пусть складываемые числа Х и Y – правильные дроби, причем |Х+Y|<1 (абсолютная величина суммы меньше 1). При сложении дополнительных кодов чисел, удовлетворяющих этим условиям, могут встретиться четыре различных случая.

 

Случай 1. Х>О; Y>О (слагаемые положительны).

                                                                          Сложение в

Прямой код     Дополнительный код дополнительном коде

+ Х = 0,101001 à [Х]доп = 0,101001 à         + 0,101001

Y = 0,001101 à  [Y] доп = 0,001101 à           0,001101

Х + Y = 0,110110 à [X+Y]доп = 0,110110     ß 0,110110

 

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

 

Случай 2. Х>0; Y<0; Х+У<0.

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

                                                                           Сложение в

Прямой код     Дополнительный код дополнительном коде

      + Х = 0,001101 à [Х]доп = 0,001101 à         + 0,001101

     Y = -0,101001 à  [Y] доп = 1,010111 à           1,010111

Х + Y = 0,011100 à [X+Y]доп = 1,100100     ß  1,100100

 

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

 

Случай 3. Х>О; Y>0, но X+Y>0.

                                                                           Сложение в

Прямой код     Дополнительный код дополнительном коде

      + Х = 0,101001 à [Х]доп = 0,101001 à         + 0,101001

     Y = -0,001101 à  [Y] доп = 1,110011 à              1,110011

Х + Y = 0,011100 à [X+Y]доп = 0,011100       ß 10,011100

                                                 î_______þ             

                                                          ­____________0,011100

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

Случай 4. Х<0; Y<0; Х+Y<0.

                                                                           Сложение в

Прямой код     Дополнительный код дополнительном коде

      + Х = -0,101001 à [Х]доп = 1,010111 à         + 1,010111

     Y = -0,001101 à  [Y] доп = 1,110011 à           1,110011

Х + Y = -0,110110 à [X+Y]доп = 1,001010     ß 11,001010

                                                 î_______þ             

                                                          ­_____________1,001010

 

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

 

Сложение чисел в обратном коде

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

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

В ходе сложения обратных кодов могут встретиться четыре случая.

 

Случай 1. Х>0; Y>0, следовательно, и Х+Y>0.

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

 

Случай 2. X>0; Y<0; X+Y<0.

Как и при рассмотрении различных случаев сложения кодов, будем складывать числа в прямом и обратном кодах и сравнивать записи получающихся сумм.

                                                                            Сложение в

Прямой код           Обратный код            обратном коде

      + Х = 0,001001 à [Х]обр = 0,001001 à         + 0,001001

     Y = -0,110001 à  [Y] обр = 1,001110 à           1,001110

Х + Y = -0,101000 à [X+Y]обр = 1,010111     ß  1,010111

В данном случае циклический перенос не образуется.

 

Случай 3. X>0; Y<0; X+Y>0.

                                                                           Сложение в

Прямой код          Обратный код            обратном коде

      + Х = 0,110001 à [Х]обр = 0,110001 à         + 0,110001

     Y = -0,001001 à  [Y] обр = 1,110110 à           1,110110

Х + Y = 0,101000 à [X+Y]обр = 0,101000     ß 10,100111+

                                                 î_______þ              ---------- ® 1

                                                          ­_____________ 0,101000                                                    

В данном случае получается циклический перенос; единица переноса, получившаяся в разряде целых чисел, прибавляется к младшему разряду суммы обратных кодов.

 

 

Случай 4. X<0; Y<0; X+Y<0.

                                                                           Сложение в

Прямой код          Обратный код            обратном коде

      + Х = -0,110001 à [Х]обр = 1,001110 à         + 1,001110

     Y = -0,001001 à  [Y] обр = 1,110110 à           1,110110

Х + Y = 0,111010 à [X+Y]обр = 1,000101     ß 11,000100+

                                                 î_______þ              ---------- ® 1

                                                          ­______________1,000101

Рассмотренные случаи показывают, что при соблюдении отмеченных ранее определенных условий сложение чисел в обратных кодах дает сумму также в обратном коде.

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

 

Контрольные вопросы к лабораторной работе 1.

1. Представление положительных и отрицательных чисел в прямом коде.

2. Представление положительных и отрицательных чисел в обратном коде.

3. Представление положительных и отрицательных чисел в дополнительном коде.

4. Представление положительных и отрицательных чисел в модифицированном обратном коде.

5. Представление положительных и отрицательных чисел в модифицированном дополнительном коде.

6. Правила выполнения арифметических операций для чисел представленных в обратном коде.

7. Правила выполнения арифметических операций для чисел представленных в дополнительном коде.

8. Для каких целей введен модифицированный код?

 

 


Дата добавления: 2018-11-24; просмотров: 565; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!