Обратный код

Поделись знанием:
(перенаправлено с «Первое дополнение»)
Перейти к: навигация, поиск

Обратный код (англ. ones' complement) — метод вычислительной математики, позволяющий вычесть одно число из другого, используя только операцию сложения над натуральными числами. Ранее метод использовался в механических калькуляторах (арифмометрах). В настоящее время используется в основном в современных компьютерах.





Описание

Обратный n-разрядный двоичный код положительного целого числа состоит из одноразрядного кода знака (двоичной цифры 0), за которым следует (n−1)-разрядное двоичное представление модуля числа (обратный код положительного числа совпадает с прямым кодом).

Пример. Двоичное представление числа 5 есть 101. 10-разрядный двоичный код числа +5 записывается как 00 0000 0101.

Обратный n-разрядный двоичный код отрицательного целого числа состоит из одноразрядного кода знака (двоичной цифры 1), за которым следует (n−1)-разрядное двоичное число, представляющее собой инвертированное (n−1)-разрядное представление модуля числа. Следует отметить, что для изменения знака числа достаточно проинвертировать все его разряды, не обращая внимания, знаковый ли это разряд или информационный.

Пример. Двоичное представление числа 5 есть 101, его 10-разрядное двоичное представление — 00 0000 0101. Обратный 10-разрядный двоичный код числа -5 есть 11 1111 1010.

Для преобразования отрицательного числа в положительное тоже применяется операция инвертирования. Этим обратные коды удобны в применении. В качестве недостатка следует отметить, что в обратных двоичных кодах имеются два кода числа 0: «положительный нуль» 00 0000 0000 и «отрицательный нуль» 11 1111 1111 (приведены 10-и разрядные обратные коды). Это приводит к некоторому усложнению операции суммирования. Поэтому в дальнейшем перешли к дополнительным кодам записи знаковых целых чисел.

n-разрядный обратный код позволяет представить числа от −2n−1 + 1 до +2n−1 − 1.

Двоичный пример

Метод дополнений в основном используется в двоичной системе счисления (с основанием 210). В двоичной системе счисления первое дополнение (обратный код) очень просто получается инверсией каждого бита (заменой «0» на «1» и наоборот). Второе дополнение (дополнительный код) может быть получено из первого дополнения (обратного кода) добавлением единицы в младший значащий разряд (бит).[1] Например, вычитание 10010 − 2210:

  011001002  (x, равное десятичным 10010)
− 000101102  (y, равное десятичным  2210)

в методе дополнений становится суммой:

  011001002  (x)
+ 111010012  (первое дополнение y)
+        12  (чтобы получить второе дополнение)
——————————
 1010011102

После отброса левой (старшей, начальной) «1» получается ответ: 010011102 (равное десятичным 7810).

См. также

Напишите отзыв о статье "Обратный код"

Литература

  • Самофалов К.Г., Романкевич А.М., Валуйский В.Н., Каневский Ю.С., Пиневич М.М. Прикладная теория цифровых автоматов. — К.: Вища школа, 1987. — 375 с.
  • Сединин В.И., Микушин А.В., Сажнев А.М. Цифровые устройства и микропроцессоры. — С.Петербург: БХВ, 2010. — 832 с.

Ссылки

  1. matlab.exponenta.ru/fixedpoint/book1/1.php К. Г. Жуков «Справочное руководство пользователя Fixed-Point Blockset» 1.2. Понятие прямого, обратного и дополнительного кодов


Отрывок, характеризующий Обратный код

Старая графиня, не выпуская его руки, которую она всякую минуту целовала, сидела с ним рядом; остальные, столпившись вокруг них, ловили каждое его движенье, слово, взгляд, и не спускали с него восторженно влюбленных глаз. Брат и сестры спорили и перехватывали места друг у друга поближе к нему, и дрались за то, кому принести ему чай, платок, трубку.
Ростов был очень счастлив любовью, которую ему выказывали; но первая минута его встречи была так блаженна, что теперешнего его счастия ему казалось мало, и он всё ждал чего то еще, и еще, и еще.
На другое утро приезжие спали с дороги до 10 го часа.
В предшествующей комнате валялись сабли, сумки, ташки, раскрытые чемоданы, грязные сапоги. Вычищенные две пары со шпорами были только что поставлены у стенки. Слуги приносили умывальники, горячую воду для бритья и вычищенные платья. Пахло табаком и мужчинами.
– Гей, Г'ишка, т'убку! – крикнул хриплый голос Васьки Денисова. – Ростов, вставай!
Ростов, протирая слипавшиеся глаза, поднял спутанную голову с жаркой подушки.
– А что поздно? – Поздно, 10 й час, – отвечал Наташин голос, и в соседней комнате послышалось шуршанье крахмаленных платьев, шопот и смех девичьих голосов, и в чуть растворенную дверь мелькнуло что то голубое, ленты, черные волоса и веселые лица. Это была Наташа с Соней и Петей, которые пришли наведаться, не встал ли.
– Николенька, вставай! – опять послышался голос Наташи у двери.
– Сейчас!
В это время Петя, в первой комнате, увидав и схватив сабли, и испытывая тот восторг, который испытывают мальчики, при виде воинственного старшего брата, и забыв, что сестрам неприлично видеть раздетых мужчин, отворил дверь.
– Это твоя сабля? – кричал он. Девочки отскочили. Денисов с испуганными глазами спрятал свои мохнатые ноги в одеяло, оглядываясь за помощью на товарища. Дверь пропустила Петю и опять затворилась. За дверью послышался смех.
– Николенька, выходи в халате, – проговорил голос Наташи.
– Это твоя сабля? – спросил Петя, – или это ваша? – с подобострастным уважением обратился он к усатому, черному Денисову.
Ростов поспешно обулся, надел халат и вышел. Наташа надела один сапог с шпорой и влезала в другой. Соня кружилась и только что хотела раздуть платье и присесть, когда он вышел. Обе были в одинаковых, новеньких, голубых платьях – свежие, румяные, веселые. Соня убежала, а Наташа, взяв брата под руку, повела его в диванную, и у них начался разговор. Они не успевали спрашивать друг друга и отвечать на вопросы о тысячах мелочей, которые могли интересовать только их одних. Наташа смеялась при всяком слове, которое он говорил и которое она говорила, не потому, чтобы было смешно то, что они говорили, но потому, что ей было весело и она не в силах была удерживать своей радости, выражавшейся смехом.
– Ах, как хорошо, отлично! – приговаривала она ко всему. Ростов почувствовал, как под влиянием жарких лучей любви, в первый раз через полтора года, на душе его и на лице распускалась та детская улыбка, которою он ни разу не улыбался с тех пор, как выехал из дома.
– Нет, послушай, – сказала она, – ты теперь совсем мужчина? Я ужасно рада, что ты мой брат. – Она тронула его усы. – Мне хочется знать, какие вы мужчины? Такие ли, как мы? Нет?
– Отчего Соня убежала? – спрашивал Ростов.
– Да. Это еще целая история! Как ты будешь говорить с Соней? Ты или вы?
– Как случится, – сказал Ростов.
– Говори ей вы, пожалуйста, я тебе после скажу.
– Да что же?