Сделай Сам Свою Работу на 5

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





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

Пример.

X = + 0,110011101; [X] = 00,110011101;

X = – 0,110011101; [X] = 11,001100010.

[0] = [+0] = 00,00…0…0;

[0] = [–0] = 11,11…1…1.

 

Дополнительный код

Пусть - правильная двоичная дробь, в частности .

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

 

где 10 – означает два.

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

 

Для отрицательного дополнительный код образуется следующим образом:

 

,

 

где , если ,

, если .

 

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

 

Пример.

X = + 0,110011101; [X]qon = [+ 0,110011101]qon = 0,110011101;



 

X = – 0,110011101; [X]qon = [– 0,110011101]qon = 10+(–0,110011101)=1,001100011.

 

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

Из определения дополнительного кода вытекает, что 0 имеет только одно значение дополнительного кода .

 

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

 

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

 

Пример.

X = + 0,110011101; [X] = 00,110011101;

X = – 0,110011101; [X] = 11,001100011.

[0] = 00,00…0…0.

 

 

ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ

С ДВОИЧНЫМИ ЧИСЛАМИ

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

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



Алгебраическое сложение чисел в дополнительном коде

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

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

 

Пример.

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

 

X = – 0,101001 [X]qon = 1,010111

+ Y = – 0,001101 + [Y]qon = 1,110011

X+Y = – 0,110110 [X+Y]qon = 11,001010

не учитывается

[X+Y]np= 1,110110 [X+Y]np = 1,110110

 

Пусть X > 0; Y < 0; (X+Y) > 0. Найти сумму в дополнительном коде.

 

X = + 0,110110 [X]qon = 0,110110

Y = − 0,010010[Y]qon = 1,101110

X + Y = + 0,100100 [X+Y]qon = 10,100100

не учитывается

[X+Y]np = 0,100100 [X+Y]np = 0,100100



 

 

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

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

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

 

Пример.

Пусть требуется найти сумму двух чисел и в обратном коде, при оговоренных выше условиях и при этом .

X = – 0,110001 [X]ob = 1,001110

+ Y = – 0,001001 + [Y]ob = 1,110110

+
X+Y= − 0,111010 11,000100

[X+Y]np= 1,110110 1

[X+Y]ob = 1,000101

[X+Y]np = 1,111010

 

Пусть X > 0; Y < 0; (X+Y) > 0. Найти сумму в дополнительном коде.

 

X = + 0,111001 [X]ob = 0,111001

Y = − 0,010101 [Y]ob = 1,101110

+
X + Y = + 0,100100 10,100011

[X+Y]np = 0,100100 1

[X+Y]ob = 0,100100

[X+Y]np = 0,100100

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.