Говорят, что в дополнении 2 0 имеет только одно значение, тогда как в дополнении 1 оба +0 и -0 имеют отдельные значения. Кто они такие?
000...0
и 111...1
. Но эти два представления все еще составляют только одно значение.
Говорят, что в дополнении 2 0 имеет только одно значение, тогда как в дополнении 1 оба +0 и -0 имеют отдельные значения. Кто они такие?
000...0
и 111...1
. Но эти два представления все еще составляют только одно значение.
Ответы:
В дополнение к 1 вы просто инвертируете все биты.
Рассмотрим эти 2 примера (при условии 8 бит):
, поэтому
, поэтому .
Таким образом, у вас есть 2 способа представить число 0
В дополнении 2 вы добавляете 1 к представлению дополнения 1 отрицательного числа
Таким образом, у вас есть только один способ представить 0 в этом случае
Как видно из приведенных примеров, разница в том, что:
Говорить о двух разных значениях 0 в одном дополнении вводит в заблуждение. Одно дополнение (и два дополнения) являются двоичными представлениями чисел. Они описывают способ представления чисел в двоичном виде и как выполнять арифметические операции над ними. Число, представленное последовательностью битов, является значением.