Почему в битовых сдвигах остаётся минус?
если я правильно понял знак хранится в первом бите
Неправильно, отрицательные числа представлены с помощью дополнительного кода.P. S. Это не для того, чтоб расширить диапазон возможных значений.Дополнительный код позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел, чем упрощает архитектуру ЭВМ.
По стандарту C89 (и до C11), при сдвиге вправо знакового отрицательного числа результат зависит от реализации.
3.3.7 Bitwise shift operators
...
   The result of E1 >> E2 is E1 right-shifted E2 bit positions.  If E1
has an unsigned type or if E1 has a signed type and a nonnegative
value, the value of the result is the integral part of the quotient of
E1 divided by the quantity, 2 raised to the power E2 .  If E1 has a
signed type and a negative value, the resulting value is
implementation-defined.
То есть отрицательные числа вообще нельзя свдигать вправо, так как результат непредсказуем.