Я не могу найти объяснение, но у меня есть идея.Тип байта может хранить числа от -128 до 127. Состояния MSB для положительного (1) или отрицательного (0).Отрицательные числа - это инвертированные положительные двоичные числа.Например, если 101
равно 5
, 010
равно -5
(если MSB равно 1
).
Но почему мы можем хранить -128 в байтовой переменной?
Я предполагаю: если 0000 0000
равно нулю (плюс), нам больше не нужен минус ноль, поэтому -128 можно сохранить как 1111 1111
(минус инвертированный двоичный ноль).
Может кто-нибудь подтвердить или объяснить, какэто работает?