Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Обратный код (англ. ones' complement) — метод вычислительной математики, позволяющий вычесть одно число из другого, используя только операцию сложения над натуральными числами. Ранее метод использовался в механических калькуляторах (арифмометрах). Многие ранние компьютеры, включая CDC 6600, LINC, PDP-1 и UNIVAC 1107, использовали обратный код. Большинство современных компьютеров использует дополнительный код.

Описание

Прямой 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, а дополнительный код - от −2N−1 до 2N−1−1.

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

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

   0110 01002  (x, равное десятичным 10010)
 − 0001 01102  (y, равное десятичным  2210)

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

   0110 01002  (x)
 + 1110 10012  (первое дополнение y)
 +         12  (чтобы получить второе дополнение)
————————————
 1 0100 11102

После отбрасывания девятого (самого старшего, левого) бита получается ответ: 0100 11102 (это положительное число, равное десятичным 7810).

См. также

Литература

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

Ссылки

  1. http://matlab.exponenta.ru/fixedpoint/book1/1.php Архивная копия от 9 ноября 2011 на Wayback Machine К. Г. Жуков «Справочное руководство пользователя Fixed-Point Blockset» 1.2. Понятие прямого, обратного и дополнительного кодов
Эта страница в последний раз была отредактирована 9 апреля 2024 в 11:20.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).