КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Сложение чисел в обратном коде
Покажем, что при использовании обратного кода вычитание можно заменить сложением в обратном коде. При этом сумма обратных кодов равна обратному коду алгебраической суммы. Рассмотрим возможные случаи при сложении чисел В и С: В+С=D. 1. B > C, C > 0. Так как положительные числа в прямом и обратном кодах записываются одинаково, то и складываются они по известному правилу. 2. Рассмотрим сложение чисел с разными знаками: В > 0, C < 0. [B]обр = 0.bn-1bn-2 … b1b0,b-1 … b-m, [C]обр = 1.cn-1cn-2 … c1c0,c-1 … c-m,. Тогда [B]обр + [C]обр = [D]обр = dn.dn-1 … d1d0,d-1 … d-m, D. (3.5)
Рассмотрим два случая в выражении (3.5): 1.
Тогда нет переноса в n–й разряд и [D]обр имеет вид: [D]обр = 1.dn-1 … d1d0,d-1 … d-m, т.е. результат получаем, пользуясь обычными правилами сложения. Пример 2.20. Сложить два числа в обратных кодах: В = + 3(10), С = - 5(10), n=3, m=0. Решение. В = + 011(2), С = - 101(2). [B]обр =0.011 [C]обр =1.010 [D]обр =1.101. [D]пр = 1.010, D = - 010(2) = - 2(10), т.е. + 3(10) + (-5)(10) = - 2(10). 2.
В данном случае имеется единица переноса в n-ный разряд и тогда можно записать:
Подставив это выражение, получим:
Отсюда следует, что для получения обратного кода суммы необходимо к результату сложения чисел прибавить единицу младшего разряда. Заметим, что в этом случае при сложении чисел по обычным правилам появится 1 переноса из разряда с отрицательным весом, которая также участвует в операции сложения. Это и является формальным признаком того, что необходимо добавить 1 в младший разряд. Такая операция называется циклическим переносом. Пример 3.21. Сложить два числа в обратных кодах: В = +5 (10), С = -3 (10), n = 3, m = 0. Решение. В = +101(2), С = - 011(2). [B]обр = 0.101
[C]обр = 1.100 0.001 +1 [D]обр = 0.010 [D]пр = 0.010, D = + 010(2) = + 2(10), т.е. +5(10) + (-3)10 = +2(10).
3. В < 0, C < 0. В этом случае аналогично можно показать, что и при сложении двух отрицательных чисел необходимо выполнять циклический перенос. Пример 3.22. Сложить два числа в обратных кодах: В = - 2(10), С = - 5(10), n=3, m=0. Решение. В = - 010(2), С = -101(2). [B]обр = 1.101 [C]обр = 1.010 0.111 +1 [D]обр = 1. 000 [D]пр = 1.111, D = - 111(2) = - 7(10), т.е. (-2)10 + (-5)10 = -710.
Правило сложения в обратных кодах. Сложение чисел в обратных кодах выполняется по обычным правилам, причем знаковый разряд участвует в операции сложения наравне с обычными разрядами. При появлении единицы переноса из знакового разряда (или разряда с отрицательным весом) ее следует циклически перенести в младший разряд и просуммировать с полученным ранее результатом. Заметим, что это правило чисто формально приводит к правильному результату, а фактически выполнять сложение единиц с разными весами нельзя. Просто при наличии переноса для получения обратного кода необходимо добавить единицу в младший разряд. Для этого и используется единица переноса.
Дата добавления: 2014-01-06; Просмотров: 1000; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |