Дополнительный код
Дополнительный код — способ представить отрицательное целое число в памяти компьютера с помощью фиксированного количества двоичных разрядов. Он позволяет выполнять сложение положительных и отрицательных чисел одной и той же схемой, не выделяя отдельное действие для знака.
Дополнительный код используется в представлении знаковых чисел и строится на основе двоичной системы счисления. Для \(n\) разрядов доступны числа от \(-2^{n-1}\) до \(2^{n-1}-1\). Например, в 8 разрядах диапазон равен от \(-128\) до \(127\).
Как получить дополнительный код
Чтобы записать отрицательное число \(-a\), сначала представляют число \(a\) в двоичном виде с нужным количеством разрядов, затем инвертируют каждый бит: нули заменяют единицами, а единицы — нулями. После этого к полученному результату прибавляют \(1\). Такой порядок называют получением дополнительного кода через инверсию и прибавление единицы.
Число \(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\).