Задание № 4 · ЕГЭ

Дополнительный код

Как хранить отрицательные целые числа в двоичной памяти
2 мин чтенияСложность: Обновлено 29 сентября 2026

Дополнительный код — способ представить отрицательное целое число в памяти компьютера с помощью фиксированного количества двоичных разрядов. Он позволяет выполнять сложение положительных и отрицательных чисел одной и той же схемой, не выделяя отдельное действие для знака.

Дополнительный код
Представление целого числа в \(n\) разрядах, при котором отрицательное число \(-a\) записывается как \(2^n-a\), а результат рассматривается по модулю \(2^n\). Старший разряд обычно служит знаковым: \(0\) означает неотрицательное число, \(1\) — отрицательное.

Дополнительный код используется в представлении знаковых чисел и строится на основе двоичной системы счисления. Для \(n\) разрядов доступны числа от \(-2^{n-1}\) до \(2^{n-1}-1\). Например, в 8 разрядах диапазон равен от \(-128\) до \(127\).

Как получить дополнительный код

Чтобы записать отрицательное число \(-a\), сначала представляют число \(a\) в двоичном виде с нужным количеством разрядов, затем инвертируют каждый бит: нули заменяют единицами, а единицы — нулями. После этого к полученному результату прибавляют \(1\). Такой порядок называют получением дополнительного кода через инверсию и прибавление единицы.

\[\operatorname{code}(-a)=2^n-a\pmod{2^n}\]
№
Пример: число −5 в 8 разрядах

Число \(5\) имеет вид \(00000101_2\). Инверсия разрядов даёт \(11111010_2\). Прибавляем единицу: \(11111011_2\). Это и есть дополнительный код числа \(-5\). При обратном переводе старший бит равен \(1\), поэтому число отрицательное: инвертируем код, получаем \(00000100\), прибавляем \(1\) и получаем \(00000101_2=5\).

!
Не путайте со знаковым модулем

В знаковом модуле старший разряд хранит знак отдельно, а остальные — модуль числа. В дополнительном коде отрицательное число получают преобразованием всех разрядов и прибавлением единицы. Поэтому, например, \(-1\) в 8 разрядах записывается как \(11111111_2\), а не как \(10000001_2\).

Проверьте себя

Как выглядит дополнительный код числа \(-3\) в 8 разрядах?

Главное за минуту

Главное

  • Дополнительный код представляет отрицательное число как \(2^n-a\) в \(n\) разрядах.
  • Для получения кода отрицательного числа инвертируют его двоичную запись и прибавляют единицу.
  • В 8 разрядах диапазон знаковых чисел: от \(-128\) до \(127\).