КАТЕГОРИИ: Архитектура-(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) |
Дополнительный код
Идея образования дополнительного кода возникла в связи со стремлением избавиться от операции циклического переноса, которая приводит к увеличению времени выполнения операции сложения. Оказывается, что для устранения циклического переноса достаточно уменьшить величину отрицательного веса С на единицу младшего разряда: С = 2n. Тогда двоичное число в дополнительном коде имеет вид: [A]доп = dn. dn-1 … d1 d0, d-1…d-m,
Правило. Положительные числа в прямом и дополнительном кодах имеют одинаковую форму записи. Для записи отрицательного числа в дополнительном коде достаточно образовать обратный код этого числа и к нему прибавить единицу младшего разряда 2-m. Пример 3.23. Получить дополнительный код для чисел: A=+1001,101(2), B=-1000,010(2) (n=4, m=3). Решение: [A]доп.=0.1001,101. [B]обр.=1.0111,101 1 [B]доп.=1.0111,110 Для образования прямого кода отрицательного числа из дополнительного кода следует вычесть единицу младшего разряда (получим обратный код) и заменить 1 на 0, а 0 на 1 (получим прямой код). Рассмотренный метод неудобен тем, что содержит операцию вычитания. В ЭВМ прямой код отрицательного числа получают путем образования дополнительного кода от дополнительного, т.е. образуется обратный код и к нему прибавляется 1 младшего разряда. Пример 3.24. Получить прямой код из дополнительного: [B]доп.=1.0111,110. Решение. ([B]доп.)обр.=1.1000,001 1 [B]пр.=1.1000,010
Как представляется нуль в дополнительном коде: +0: [0]доп.= 0.000…00, -0: [0]доп.=1.111 … 1 + 1 [0]доп.=0.000 … 0, т.е. нуль в дополнительном коде имеет единственное представление. Правило сложения в дополнительных кодах. Для того чтобы при сложении дополнительных кодов двух чисел получить дополнительный код суммы, необходимо сложить дополнительные коды слагаемых по правилам сложения двоичных чисел, рассматривая знаковые разряды как обычные цифровые. При возникновении единицы переноса из знакового разряда ее следует опустить. Пример 3.25. Сложить в дополнительных кодах числа: А1 =+7(10) = +111(2) и В1 =-3(10) = -011(2), А2 =-7(10) = -111(2) и В2 =+3(10) = +011(2). Решение. [A1]доп = 0.111 [A2] доп = 1.001 [B1]доп = 1.101 [B2] доп = 0.011 [C1]доп = 0.100, [C2] доп = 1.100 [C2]пр = 1.100
С1 = + 100(2) = + 4(10), С2 = -100(2) = - 4(10). Сравнивая представление чисел в различных кодах, можно сделать следующие выводы: - перевод чисел из прямого кода в обратный осуществляется проще, чем в дополнительный; - в дополнительном коде проще выполняется сложение, т.к. отсутствует циклический перенос. Поэтому обратный и дополнительный коды примерно равноценны при их реализации на ЭВМ.
Дата добавления: 2014-01-06; Просмотров: 497; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |