Представление знаковых чисел
Представление знаковых чисел — это способы записать в памяти не только величину числа, но и его знак. Для этого один из двоичных разрядов используют как знаковый, а остальные — для хранения значения.
Сначала число записывают в двоичной системе счисления. Затем выбирают способ представления. В прямом коде старший разряд является знаковым, а остальные разряды содержат двоичную запись модуля числа. Например, в 8-разрядном формате число \(+5\) записывается как \(00000101\), а \(-5\) — как \(10000101\).
В обратном коде положительное число записывается обычным образом, а для отрицательного все разряды положительного кода, включая знаковый, заменяются на противоположные: \(0\) превращается в \(1\), а \(1\) — в \(0\).
В дополнительном коде отрицательное число получают из положительного: инвертируют все разряды и прибавляют единицу. Именно дополнительный код чаще всего используют в компьютерах, потому что сложение положительных и отрицательных чисел выполняется одной и той же схемой.
Код числа \(+5\): \(00000101\). Инвертируем разряды: \(11111010\). Прибавляем единицу: \(11111011\). Поэтому \(-5\) в дополнительном коде имеет вид \(11111011\).
Старший разряд в знаковом представлении не всегда входит в модуль числа. Если он равен \(1\), это обычно означает отрицательное число, а не добавку \(2^7\) к его значению. Также прямой, обратный и дополнительный коды — разные способы представления одного числа.
Как получить дополнительный код отрицательного числа?
Главное
- Знаковый разряд обычно равен \(0\) для положительных и \(1\) для отрицательных чисел.
- В прямом коде хранится модуль, в обратном коде инвертируются разряды, а в дополнительном после инверсии прибавляется единица.
- Дополнительный код удобен для выполнения арифметики и используется в компьютерах чаще других способов.