Если вы хотите получить байт, лучшим решением будет:
byte x = (byte)(number >> (8 * n));
Таким образом, вы возвращаете и работаете с байтом вместо целого, поэтому мы используем меньше памяти, и нам не нужно делать двоичный файл и операцию & 0xff
, чтобы просто замаскировать результат до байта , Я также видел, что человек, задающий вопрос, использовал int в своем примере, но это не делает его правильным.
Я знаю, что этот вопрос задавали очень давно, но я столкнулся с этой проблемой, и я думаю, что это лучшее решение, независимо от того.