Я пытаюсь написать метод, который принимает 32-битное целое число и целое число, представляющее байт в 32-битном целом, и возвращает переданный байт. Т.е. getByte (0x56781234, 0);// => 0x34.Мой мыслительный процесс заключается в том, что если я могу сместить права int в положение, где байт, который я хочу, является последним байтом целого числа, я могу И это с 0xFF, чтобы получить это значение.Так что-то вроде
public int getByte(int num, int byteVal) {
return ((num >> 8) >> byteVal) & 0xFF;
}
Я знаю, что моя логика, однако, ошибочна.Я пытаюсь сместить несколько раз в одном утверждении.Предостережение: нет умножения.Совет?