Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Алгоритм усунення переповнення



А=-0,101

В=-0,111

[А]д=1,011

[В]д=1,001

[С]д=10,100

+1,011

1,001

10,100

Таким чином переповнення відсутнє коли обидва переноси є або їх зовсім нема. Наявність одного з переносів має місце переповнення розрядної сітки. Для виявлення переповнення розрядної сітки вводять допоміжний розряд в знакову частину. Цей розряд називається розрядом переповнення. Таким чином отримується модифікований додатковий код. Лівий знаковий розряд зберігає знак.

1. 2. Збільшити масштабний коефіцієнт, тобто зсунути число на один розряд праворуч.

2. 3. У правому знаковому розряді продублювати значення лівого знакового розряду.

Наприклад

А=0,101

В=-0,111

[А]дm=00,101

[В]дm=11,001

00,101

11,001

11,110

А=0,101=[А]д

В=0,011 =[В]д

00,101

00,011

01,000=00,100*21

1.4 Додавання в зворотному коді (СРС)

Як і у додатковому коді в другому і в третьому випадку віднімання замінюється додаванням числа з протилежним знаком. Знакова і цифрова частина числа розглядається як єдине ціле, тобто ЕОМ оперує з від’ємними числами як з неправильними дробами.

Правильний знак суми отримується автоматично шляхом додавання знакових розрядів доданків та одиниці переносу цифрової частини числа, якщо вона є. Особливістю зворотного коду є циклічний перенос з знакового розряду у молодший розряд цифрової частини числа, тобто здійснюється корекція на 2-n. Сума доданків у зворотних кодах є зворотній код.

Можливі чотири випадки при умові

[С]з= [A]з+ [B]з |A|+|B| <0

1. A>0; B>0. як у прямому коді

2. A>0; B<0. |A|>|B|

Сума повинна бути додатна, тобто у прямому коді, але отримана сума буде відрізнятись від істинної на 2-2-n. Корекція на 2n відбувається автоматично. Так як у розрядній ЕОМ нема місця для зображення 2. Корекція на одиницю молодшого розряду здійснює додавання у молодший розряд одиниці переповнення, яка виникає при додаванні знакових розрядів, тобто виконується циклічний перенос

Наприклад

А=0,10101

В=-0,01001

[А]з=0, 10101

[В]з=1,10111

+0,10101

1,10111

10,01011

1

0,01100

3. A<0; B>0. |A|>|B|

Сума доданків буде у зворотньому коді, тобто від’ємна.

А=-0,101

В=-0,010

[А]з=0, 010

[В]з=0,010

+0,010

0,010

0,100

4. A<0; B<0. |A|+|B|<1

Сума відємна, тому у зворотньому коді необхідна корекція на 2-2n.

Наприклад

А=-0,1100

В=-0,0010

[А]з=1, 0011

[В]з=1,1101

+1,0011

1,1101

11,0000

1

1,0001

В 1, 4 випадках можливе переповнення, для його виявлення використовується зворотній модифікований код





Дата публикования: 2014-12-11; Прочитано: 221 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...