Первоначально опубликовано здесь.

Поскольку двоичные числа могут иметь только две цифры/символа либо 0, либо 1, перед двоичным числом нельзя добавить знак минус или плюс.

В десятичном числе мы добавляем знак минус перед числом, если оно отрицательное. В компьютерных системах мы представляем отрицательное и положительное число, добавляя перед ними дополнительный бит, называемый битом знака. Если бит равен 0, то число положительное, иначе, если бит равен 1, число отрицательное.

Способы представления отрицательных чисел в двоичной системе счисления

Существует несколько способов представления отрицательных чисел в двоичном формате, в том числе:

Представление знака и величины, представление дополнения до единицы и метод дополнения до двух. Они объясняются ниже:

1. Представление знака и величины

В этом методе крайний левый бит используется для указания знака числа, который называется битом знака. Значение бита знака равно 1 для отрицательных чисел и 0 для положительных чисел. Остальные биты используются для представления величины числа.

Предположим, у нас есть 4-битное число, мы можем представить положительное число 5 как 0101, а отрицательное число -5 как 1101. Мы преобразуем это двоичное число в его десятичный эквивалент, выполнив преобразование из двоичного в десятичное, которое мы изучили в предыдущая статья, но не забудьте преобразовать бит знака и применить соответствующий знак к результату.

Этот метод имеет неоднозначное представление числа 0, что означает, что 0 имеет два разных представления: одно +0 (0000 в 4-битном двоичном числе), а другое — -0 (1000 в 4-битном двоичном числе).

2. Репрезентация дополнения

Чтобы получить дополнение двоичного числа до единицы, просто инвертируйте все биты числа. Это означает преобразование всех 0 в 1 и всех 1 в 0. Давайте разберемся с этим на примере. Предположим, есть двоичное число 11000101, тогда его дополнение до единицы будет 00111010.

Всегда помните, что самый левый бит или MSB (самый значащий бит) всегда равен 1 для отрицательных чисел. Итак, чтобы представить отрицательное число в двоичном виде, мы берем дополнение этого двоичного числа до единицы.

Этот метод также имеет неоднозначное представление числа 0, что означает, что 0 имеет два разных представления: одно +0 (0000 в 4-битном двоичном числе), а другое — -0 (1111 в 4-битном двоичном числе).

3. Представление в дополнении до двух

Чтобы получить дополнение до двух двоичного числа, просто инвертируйте все биты числа. Это означает преобразовать все 0 в 1 и все 1 в 0, а затем добавить 1 к этому числу. Другими словами, мы можем сказать: возьмите дополнение числа до единицы и прибавьте к нему 1. Давайте разберемся в этом на примере. Допустим, есть двоичное число 11000101, тогда его дополнение до единицы будет 00111010. После прибавления к этому числу 1 оно станет 00111011.

В этом методе есть только одно представление +0 и -0, поэтому представление с дополнением до двух лучше, чем представление со знаком и величиной и дополнением до единицы