Мне интересно написать функцию getMyByteChunkFunction, которая принимает два параметра - 32-разрядное целое и смещение байтов (0, 1, 2 или 3), затем возвращает соответствующий байт из 32-битного целого числа, Например, учитывая это целое число:
(3) (2) (1) (0) ---byte numbers
int word = 10101010 00001001 11001010 00000101
вызов функции getMeByteChunkFunction(word, 2) возвращает 00001001.
Однако я ограничен в побитовых операциях, которые я могу использовать. Мне разрешено использовать >>, << и ровно одно вычитание. Я знаю, как это сделать с помощью AND и XOR, но я не знаю, как использовать здесь вычитание. Любые идеи?