Реферат: Выполнение операций алгебраического сложения и сдвига в ЭВМ
+ 0,101001
0,000101
0,101110 Спр =1+ 0,101110=1,101110
Таким образом, в прямом коде знаковый разряд и цифровую часть нельзя рассматривать как единое целое. Кроме того, необходимо кроме сумматора иметь и вычитатель. В результате этого прямой код не применяется для выполнения операции алгебраического сложения, но применяется для выполнения операций умножения и деления.
1.1.3 Дополнительный код
В дополнительном коде операция вычитания заменяется операцией алгебраического сложения. При этом знаковый разряд и цифровая часть рассматриваются как единое целое.
Рассмотрим особенности преобразования в дополнительный код. Отрицательное число заменяется некоторым вспомогательным положительным числом, причем :
При этом для дробных отрицательных чисел всегда имеет место: |А|+|[A]Д |=1
Геометрическая интерпретация дополнительного кода правильной дроби при р=2 представлена на рис. 1.1.
-1 А<0 A>0 +1 +2
A>0 A<0 Область изображений
Рисунок 1.1- Геометрическая интерпретация дополнительного кода
С ростом абсолютной величины дополнительный код положительного числа возрастает, а отрицательного - убывает.
Ввиду того, что область чисел и область изображений равны по длине модуля р=2, между числами и их изображениями имеет место однозначное соответствие. При этом область положительных чисел совпадает с областью изображений. Поэтому изображения положительных двоичных дробей не отличаются от их обычной двоичной записи, а для изображения правильной отрицательной дроби к ней нужно прибавить модуль 2, по которому сравнивается число с его изображением, т.е. получить дополнение до двух.
Дополнительный код положительного числа совпадает с его представлением в прямом коде.
Правило преобразования отрицательного числа из прямого кода в дополнительный:
Для преобразования прямого кода отрицательного числа в дополнительный необходимо все значащие разряды заменить на противоположные (проинвертировать) и прибавить 1 к младшему разряду. Знаковый разряд остается без изменения.
[A]пр =0,10110100; [A]дк =0,10110100;
[Â]пр =1,10111101; [В]дк =1,01000011.
1.1.4 Алгебраическое сложение в дополнительном коде
В дополнительном коде операция вычитания заменяется операцией алгебраического сложения. При этом знаковый разряд и цифровая часть числа рассматриваются как единое целое, в результате чего с отрицательными числами машина оперирует как с неправильными дробями. Правильный знак суммы получается автоматически в процессе сложения содержимого знаковых разрядов операндов и единицы переноса из цифровой части, если она есть.
Рассмотрим все возможные варианты сложения чисел в дополнительном коде:
1) ??0, 0, ћ0.
А=+0,101101 В=+0,000111
Апр =0,101101 Впр =0,000111
Адк =0,101101 ВДК =0,000111 Сдк =Адк +Вдк
+ 0,101101
0,000111
0,110100
2) ??0, 0, ћ0.