Согласно docs.oracle.com: -
byte: тип данных byte представляет собой 8-разрядное целое число в дополнении до двух со знаком. Он имеет минимальное значение -128 и максимальное значение 127 (включительно). Тип данных byte может быть полезен для экономии памяти в больших массивах, где экономия памяти действительно имеет значение. Их также можно использовать вместо int, когда их ограничения помогают прояснить ваш код; тот факт, что диапазон переменных ограничен, может служить формой документации.
Байт — 8 бит
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1)
Складывая все эти числа, мы получаем в общей сложности 255. Тогда как рассчитывается диапазон от -128 до 127? Это где-то жестко закодировано или в этом диапазоне есть еще какие-то технические детали?
Мы ценим любые предложения.